> Yesterday I went looking for the Pharo sources > <https://github.com/pharo-project>. I particularly want to find the > Pharo sources for the VM. Despite the obvious link, I have only found C > sources. Can anyone tell me where the Pharo sources for the VM are? >
I'm not a Pharo core dev, but I am fascinated by the history of Smalltalk and have done some reading about the VM. Pharo uses the OpenSmalltalk VM (see the GitHub repo <https://github.com/opensmalltalk/opensmalltalk-vm> and the homepage <http://opensmalltalk.org/>), which is also used for Squeak, Cuis, and Newspeak. Pharo forked from Squeak and he history of Squeak is described here <http://ftp.squeak.org/docs/OOPSLA.Squeak.html> (it was a very direct descendant of Smalltalk-80). That article is a favorite of mine and describes the VM design and creation process. I believe the VM is still developed in a similar manner, that is in a Smalltalk image and eventually exported to generated C code. See here <https://www.researchgate.net/publication/328509577_Two_Decades_of_Smalltalk_VM_Development_Live_VM_Development_through_Simulation_Tools> and here <https://hal.archives-ouvertes.fr/hal-01883380/document> for recent literature on that development style. This seems to be the official way to set up a development image. <https://github.com/OpenSmalltalk/opensmalltalk-vm/tree/Cog/image> I've never tried generating one myself, but you might be able to FileIn these files from Pharo if you're interested in reading the source. > This morning I asked myself the question, would it be possible to write > (say in Pharo) a VM for the *python* byte codes? This might make it > possible to create a reloadable python. (Insert catchy neologism for Pharo > + Python here). This isn't totally unreasonable. There is a common core > used by Pharo, Smalltalk, etc. > Writing VMs in Smalltalk is entirely doable. The Blue Book describes one down to source I believe. Not sure anyone's tried reading Python bytecode yet though. Once that is done your reloadable Python would certainly be in sight. Somewhat related, I discovered Leo and Pharo around the same time and dream of writing a Smalltalk on top of Pharo someday. That project's been on the back burner for a couple years now though :) Cheers, Jacob. -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/leo-editor. For more options, visit https://groups.google.com/d/optout.
