<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 4, 2017 at 5:59 AM, Paul DeBruicker <span dir="ltr"><<a href="mailto:pdebruic@gmail.com" target="_blank">pdebruic@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
The blue book<br>
<a href="http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf" rel="noreferrer" target="_blank">http://stephane.ducasse.free.<wbr>fr/FreeBooks/BlueBook/<wbr>Bluebook.pdf</a><br>
<br><br>
and all the info on this blog should get you started<br>
<br>
<a href="http://www.mirandabanda.org/cogblog/about-cog/" rel="noreferrer" target="_blank">http://www.mirandabanda.org/<wbr>cogblog/about-cog/</a><br>
<br>
<br><br>
michel sangala wrote<br>
> Good morning, i want to know all about pharo'VM, books and notes, i also<br>
> want to know differences between pharo'VM and JavaVM, thanks a lot<br><br>
</blockquote></div><br></div><div class="gmail_extra">At its most concise:</div><div class="gmail_extra">* #become:</div><div class="gmail_extra">* resumable exceptions<br></div><div class="gmail_extra">* message passing<br></div><div class="gmail_extra">* its just an execution engine<br></div><div class="gmail_extra"><div class="gmail_extra"><br></div></div><div class="gmail_extra">The links below expand on these, except the last which I'll expand on briefly.</div><div class="gmail_extra"><br></div><div class="gmail_extra">IIUC, the JVM class libraries are often considered part of the VM.  With Smalltalk, the class libraries are part of *your* Image, written in Smalltalk (you have direct access to understanding and debugging them in the context of your running application).  The Pharo VM provides only: </div><div class="gmail_extra">* bytecode interpreter</div><div class="gmail_extra">* JIT bytecode to machine code compilation</div><div class="gmail_extra">* memory allocation</div><div class="gmail_extra">* primitives hiding platform differences</div><div class="gmail_extra">* primitives accelerating speed sensitive activities</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="https://gbracha.blogspot.com.au/2009/07/miracle-of-become.html">https://gbracha.blogspot.com.au/2009/07/miracle-of-become.html</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="http://stackoverflow.com/questions/18231382/java-equivalent-of-smalltalks-become">http://stackoverflow.com/questions/18231382/java-equivalent-of-smalltalks-become</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="http://forum.world.st/Debugging-in-Production-Servers-tp4756136p4756337.html">http://forum.world.st/Debugging-in-Production-Servers-tp4756136p4756337.html</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="http://scg.unibe.ch/archive/papers/Vran12a.pdf">http://scg.unibe.ch/archive/papers/Vran12a.pdf</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="http://swing.fit.cvut.cz/projects/stx/doc/online/english/programming/stForJavaGuys.html">http://swing.fit.cvut.cz/projects/stx/doc/online/english/programming/stForJavaGuys.html</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="https://pdfs.semanticscholar.org/a0e2/5003010f1e2e3af958208ac9a540c8c7bc4b.pdf">https://pdfs.semanticscholar.org/a0e2/5003010f1e2e3af958208ac9a540c8c7bc4b.pdf</a></div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="http://stackoverflow.com/questions/3102695/what-are-the-key-differences-between-oo-in-smalltalk-and-java">http://stackoverflow.com/questions/3102695/what-are-the-key-differences-between-oo-in-smalltalk-and-java</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="http://stackoverflow.com/questions/5638052/is-it-really-all-about-message-passing-in-smalltalk/5638259">http://stackoverflow.com/questions/5638052/is-it-really-all-about-message-passing-in-smalltalk/5638259</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="http://softwareengineering.stackexchange.com/questions/140602/what-is-message-passing-in-oo">http://softwareengineering.stackexchange.com/questions/140602/what-is-message-passing-in-oo</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="https://www.quora.com/What-is-the-difference-between-message-passing-versus-calling-a-function-method-invocation">https://www.quora.com/What-is-the-difference-between-message-passing-versus-calling-a-function-method-invocation</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">btw, note that the Pharo VM is a branding of the OpenSmalltalk-VM, </div><div class="gmail_extra">   <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm">https://github.com/OpenSmalltalk/opensmalltalk-vm</a><br></div><div class="gmail_extra">which is the original Squeak-VM renamed, since there are now several</div><div class="gmail_extra">downstream consumers: Pharo, Squeak, Cuis & Newspeak. </div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">cheers -ben<br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra">P.S. just an aside for anyone unfamiliar with reading Smalltalk syntax...</div><div class="gmail_extra"><a href="http://www2.ing.unipi.it/~a009435/issw/extra/readingSmalltalk.pdf">http://www2.ing.unipi.it/~a009435/issw/extra/readingSmalltalk.pdf</a></div><div><br></div></div><div class="gmail_extra"><br></div></div>