[Vm-dev] Pypy-Squeak VM generation news

Andreas Raab andreas.raab at gmx.de
Mon Oct 22 21:23:05 UTC 2007

Michael Haupt wrote:
> On 10/22/07, Andreas Raab <andreas.raab at gmx.de> wrote:
>> Sounds intriguing. But can you elaborate on what it means to "use PyPy
>> to generate a Squeak VM"?
> My guess is it's "use the PyPy *tool chain* to generate a Squeak VM".

And what exactly does *that* mean? Rewrite the code generator in Python 
to generate C code from Slang? Rewrite the VM in Python? Use PyPy 
translation tools to generate code from Squeak parse trees? There are so 
many possible ways of "using tools" ...

   - Andreas

> But then... (Adrian, you know what comes next.)
> Short version: Why Python? Why not Squeak?
> Long version: we've got a wonderful language, Smalltalk, and a great
> implementation of that language, Squeak. There is an implementation of
> Squeak "in itself", or rather, in Slang. Close, but, alas, no cigar.
> Slang is not much more than a Smalltalk-ish syntax for C. Some things
> that are used most naturally in Smalltalk simply cannot be done in
> Slang, which adds a great deal of complexity to VM development for
> Squeak. RPython, on the other hand, is a minimally stripped-down
> version of Python - it almost lays the full power of Python into the
> hands of the VM developer.
> So what about, instead of using an "alien" language for developing the
> Squeak VM, Squeak itself? Possibly after a minimal strip down, much
> like the one applied to Python?
> The main benefit for Squeak VM development that can be drawn from the
> PyPy project is not RPython. Or: should not be RPython. Maybe I'm
> overly puristic, but hey, I still favour Squeak over Python for
> whatever reasons, so I'm not being inconsistent. ;-)
> The main benefit, in my opinion, is in the way the PyPy tool chain is
> built. The approach of taking away abstractions step by step and
> finally generating C code is elegant and well-designed. A similar tool
> chain for Squeak would be a great thing to have. It would also allow
> Squeak to remain a "Smalltalk implemented in itself", which is a nice
> property.
> So, instead of PySquee or SqueePy, what about SqueeSquee?
> (Disclaimer: this is not to bash PyPy. Not at all. It's amazing work
> that takes one of the edges off of VM development in my very humble
> opinion, and that should be widely adopted beyond the Python realm.
> This also is not to bash VMMaker or any of its contributors or
> maintainers. See above.)
> Best,
> Michael

More information about the Vm-dev mailing list