<br><br><div class="gmail_quote">On Mon, Feb 8, 2010 at 9:42 AM, Mariano Martinez Peck <span dir="ltr">&lt;<a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
 <br>Hi folks. Disusing with a friend, he asked me if Squeak was completely written in itself (actually, SLANG). I think (I am not sure) that some parts of the VM as Interpreter, ObjectMemory, and most primitives are written in SLANG and then using VMMaker I can convert from that to C. Ok.....but...I think I heard that there are primitives that are directly written in C (not SLANG, no translation).  Is this true ?<br>
</blockquote><div><br></div><div>If you look at the blue book and its definition of what Smalltalk-80 is then all of that except lower-level window management (creating the window in which Squeak appears, collecting events from the GUI), and image I/O (reading and writing the image to and from the snapshot file) is entirely written in Slang and can be run as a simulation.  But go beyond that to the large array of primitives for sound, video and so on and lots of the Slang code for the primitives is merely a wrapper around some library that actually implements the functionality.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>If true, how can be that addressed ? where is the C code of that? because, I take VMMaker, I convert to C, then compile, install and I have a working VM. So...that C code must come somewhere...where is it ? how can I know if a primitive is written in SLANG or directly in C?<br>
</blockquote><div><br></div><div>As far as I&#39;m aware all primitives are written in Slang, even if they&#39;re simply wrappers.  But if you look in the files in </div><div>    platforms/{Cross,Mac OS,unix}/plugins/FooPlugin</div>
<div>you&#39;ll find cross-platform and platform-specific support code for each plugin (a plugin being a related suite of primitives), and look in the src tree for plugins and extplugins and look in their subdirectries you&#39;ll find all the generated Slang plugin code.</div>
<div><br></div><div>A better place to look is in VMMaker using the browser.  There you&#39;ll see different kinds of primitive from things like GeniePlugin where all the code is written in Slang to SocketPlugin where all the code is merely wrappers around platform-specific support code.</div>
<div><br></div><div>HTH</div><div>Eliot</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>I hope someone can help this newbie :)<br><br>Thanks in advance,<br><br>Mariano<br><br><br>
<br></blockquote></div><br>