[squeak-dev] Re: The solution of (Was: Creating an image from first principles)

Tony Garnock-Jones tonyg at lshift.net
Sat Aug 9 09:41:13 UTC 2008


Hi,

K. K. Subramaniam wrote:
> My interest got 
> piqued because if the primal image is so complex that it requires jiggery 
> pokery perhaps it is time to apply Occam's razor to it. Transmutation (aka 
> bootstrapping) from one type of system into Smalltalk should not be so 
> complex that SystemTracer remains only source of information even after nine 
> years.

Have a look at the bootstrapping process for Slate, starting perhaps 
with http://slate.tunes.org/repos/stable/src/mobius/vm/bootstrap.slate. 
The fact that the program is written in Slate does not detract from what 
the program does, which is (if I remember rightly!) to build and 
serialise a model of an image that does not rely on any characteristics 
of the host language.

(Compare approaches to implementing call/return in simple interpreters: 
you can use the host language's support for call and return, by 
recursing into your evaluator in the host language, or you can reify the 
stack, and so avoid requiring the host language to even have call/return 
semantics. Similarly, Slate reifies the image being constructed, so 
doesn't depend on being image-based itself.)

(Also, I had a go at the same thing myself: See the definition of 
(bootstrap-image!) in 
http://www.eighty-twenty.org/~tonyg/Darcs/smalltalk-tng/r1/kernel.scm. 
This is a Scheme system implementing an image-based Slate-like language.)

Regards,
   Tony



More information about the Squeak-dev mailing list