Common Smalltalk VM Summit
David.Griswold at acm.org
Thu Oct 5 16:13:07 UTC 2006
Hopefully the right people are listening in so that we can have a real
dialog between the different Smalltalk implementations.
Basically what I am proposing is that we try to join efforts to support an
open source high-performance VM that we could all then use however we want.
No one Smalltalk faction could do this before, because building a
type-feedback VM from the ground up is just too big a job for a small group
of volunteers, especially if they didn't have experience with the Self VM,
on which it is based. But now we have one that is basically done, with just
some debugging and tweaking here and there, which is a lot less effort than
writing a new one.
I'm not proposing that we all give up our different Smalltalk tools,
libraries, GUIs, etc. In fact, hopefully this could be done without anyone
having to commit to tossing their own VM out. The idea would be to factor
out a core VM interface, and then each platform could wrap that as necessary
to make it look the way their libraries expect it to. Then there would at
least be the option of plugging in a different VM, and if people like it,
they could then switch to it completely if they want.
Of course, this requires compromising on all sides, since there are numerous
small language and VM functionality differences we would have to iron out.
But even if there is some pain there, the benefit of having a common
language semantics and a bigger group of people supporting the VM should be
worth it. It might even be a path, eventually, to reuniting the Smalltalks.
For commercial Smalltalks, one big benefit would be the increased comfort
that customers would have because the VM would be open source, and thus more
likely to survive in the long term.
I'm not saying that I or Strongtalk would even have to play the leading role
here. There are plenty of smart VM people in the Smalltalk community, and
they are welcome to step up and assert themselves.
We need to look more closely at the various VM and language differences that
we would have to overcome. What is everyones feedback on the difficulties
and benefits of doing this?
More information about the Squeak-dev