<br><br><div class="gmail_quote">On Feb 4, 2008 10:44 AM, nicolas cellier &lt;<a href="mailto:ncellier@ifrance.com">ncellier@ifrance.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Giuseppe Luigi Punzi Ruiz a écrit :<br><div class="Ih2E3d">&gt; And, if is easy to extract from the image, and convert it to a package.<br>&gt; Why don&#39;t do it, and all happy?<br>&gt;<br>&gt; If you want Traits, load a package and voilá. If you don&#39;t want Traits,<br>
&gt; don&#39;t install it.<br>&gt;<br>&gt; Only my impression.<br>&gt;<br><br></div>Because modifying Class and Metaclass is quite a tricky game. It&#39;s like<br>cutting the branch you are seating upon.<br><br>Both adding or removing Traits is NOT trivial.<br>
<br>But yeah, on the principle, you are right, that could be<br><div><div class="Wj3C7c"><br></div></div></blockquote></div><br><br>From what I can tell so far, there&#39;s nothing stopping you from making a second class+metaclass kernel or hierarchy in the same image. The VM doesn&#39;t make any sanity checks, so an object could have any other object as a class provided that instvar 2 (? IIRC) is a sane method dictionary.<br>
<br>In other words, you can have traits and non-traits classes in the same image. <br><br>The limitations are in &quot;Smalltalk specialObjectsArray&quot; and another array (which I can&#39;t remember the name of) which stores 5-bit indexes to commonly used classes. The classes in these arrays are used by the VM and need to be shared by all your individual metaclass hierarchies.<br>
<br>Gulik.<br clear="all"><br>-- <br><a href="http://people.squeakfoundation.org/person/mikevdg">http://people.squeakfoundation.org/person/mikevdg</a><br><a href="http://gulik.pbwiki.com/">http://gulik.pbwiki.com/</a>