[squeak-dev] Re: Burn the Squeak Image! (Why I am running for board)

Jecel Assumpcao Jr jecel at merlintec.com
Sun Mar 1 19:43:48 UTC 2009


Bert Freudenberg wrote:

> Sharing a microkernel image would be nice but I fear too much has  
> changed in the class/metaclass kernel to make that feasible.  But  
> perhaps for using Cog, does it really require extensive image-level  
> changes, or couldn't the SystemTracer be used to convert the image  
> format?

Actually, I would say that the SystemTracer is interesting exactly when
you have extensive image changes that you want to do only once (say for
generating the Squeak 5.0 image starting from the 4.3 one). Some smaller
changes can be handled by doing the conversion while reading and saving
the image. A good example of that in Cog would be the stack pages - you
could create them when reading an old image and you can convert all
contexts to old style ones (so the stack pages would be empty) before
saving the image. A more radical change, like entirely different
bytecode encoding, is easier to do just once with the SystemTracer.

This has been an interesting thread about what is possible technically
as well as socially ("we could do that, but then the forks wouldn't
adopt it"). My "Chunky Squeak" proposal
(http://wiki.squeak.org/squeak/584) was meant to be an example of the
smallest possible change that I felt would be acceptable for everybody.
If people are feeling adventurous and would rather a really modular
microkernel Squeak, I have worked on that as well as described in my
"Neo Smalltalk modules" page (http://wiki.squeak.org/squeak/5637).

Any change to the image format is an extremely significant event in the
history of Squeak, probably even worse than the 680x0->PowerPC, Mac OS
9->Mac OS X and PowerPC->Intel changes that the Macintosh community had
to endure. I don't think it would be a good idea to do it in a series of
steps (except in private development images, of course) but instead it
would be better to gather all possible changes into a single 4.x->5.0
transition.

There are many little things I wouldn't mind seeing changed. I bet Bryce
Kampjes would love to have a 0 tag represent SmallIntegers, for example.
For SiliconSqueak (hardware implementation of the VM that I am
developing) it would be convenient to have tagged floating point
numbers, for another example. And I can't say that I am too happy with
the very conservative path that 64 bit Squeak ended up taking.

If we agree that each sub-community will have its own images and will at
most share Monitcello level packages, then none of the above is a big
deal. Let each one do what they like best. But I prefer trying for a
shared micro-image with as radical solution as possible, though not so
radical that we leave behind the community.

-- Jecel




More information about the Squeak-dev mailing list