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

Andreas Raab andreas.raab at gmx.de
Wed Aug 6 23:20:02 UTC 2008


Igor Stasenko wrote:
> Okay, let me review the steps, how i seeing it with doing everything
> in same interpreter without the need of simulation:
> 
>> Read a series of class definitions (you can use either MC class defs or
>> simply parse simple class definitions from sources) that are sufficient to
>> define all of the kernel structures that are required by the running VM
>> (incl. Object, Behavior, Class, Integer, Array, Process, CompiledMethod,
>> ContextPart, Semaphore etc. etc. etc.).
> 
> - use a ClassBuilder, or add single method to Behavior to be able to
> create the abovementioned classes, but without installing/registering
> them anywhere (SystemDictionary etc) and treat them as anonymous
> classes.

This doesn't work (try it sometime). It is impossible to create an empty 
metaclass hierarchy since you can't send any messages to it. Which is 
why you need a simulator to do it because the simulator can operate on 
the data structures without requiring any of the objects to understand 
any message. Most of the steps in your proposal have similar fundamental 
flaws (like creating "new" SmallInteger instances etc).

FWIW, I've followed a similar set of ideas for a while back in 2002 and 
the end result was dead-ugly and impossible to bootstrap cleanly. Every 
step of your proposal is a mine field and the only recommendation I have 
is to try it sometime and you'll be *amazed* how difficult the process 
is that you are describing.

Cheers,
   - Andreas



More information about the Squeak-dev mailing list