Strongtalk VM for Squeak

Jecel Assumpcao Jr jecel at merlintec.com
Mon Sep 18 18:09:56 UTC 2006


Ron Teitelbaum wrote:
> If we accepted that the base VM is C++ then couldn't plugins still be slang,
> (or the slang plugins still be supported by the base Strongtalk vm) or is
> this too much for the squeak community to accept?

Note that when the Squeak project was started there was already an Open
Source (BSD license) Smalltalk VM written in C++. I am talking about
Self 4.0 hosting GNU Smalltalk, which at the time outperformed all
available VMs including the commercial ones. And this work had been done
by the group from which one of Squeak's creators had come from, so we
can be sure he was very familiar with it.

I think it would be true to say that Squeak was started as a reaction
against what you are suggesting. The goal was portability and not
performance, though projects such as Ian's Jitter were encouraged. I had
a very good experience using Jitter 2 back in the Squeak 2.3 days, for
example, but didn't care enough about performance to keep at it and
found myself using the regular VM just as often (and exclusively on
later Squeaks).

A more radical change to the Squeak VM was Anthony Hannan's VI4 work,
which gave us better performance and real closures. But though his new
bytecodes were cleaner, my impression is that he felt the gain wasn't
enough to justify losing the historical connection to the "blue book"
design. I always worry about the implementation itself as an educational
object (and not just the eToys layer) and so like to take these issues
into consideration. Recent versions of Little Smalltalk, for example,
are much improved over the original but now they no longer match the
book and are less valuable as a teaching tool. Anthony later created the
"closure compiler" which worked with unmodified VMs and my impression
was that this, unlike what Lex said, actually has been included in
official Squeak.

While I am very glad that Strongtalk has finally been open sourced (and
so has Klein, the "Self written in Self" VM which probably matches
Squeak's goals better) even if someone does adapt it to run Squeak I
wouldn't bet on it being officially adopted by the community. I think
Ian's current work has a far better chance.

-- Jecel



More information about the Squeak-dev mailing list