Minimal Image(was Re: [ANN] Spaghetti Tracer (0.4))

PhiHo Hoang phiho.hoang at rogers.com
Mon Nov 4 15:51:13 UTC 2002


Andreas,

> >     I just need Metaclass, ProtoObject and supporting cast.
> > 
> >     What are these supporting objects ?
> >     Is there an alogorithm to find them ?
> 
> Yup, it's called "thinking" ;-) 

    Hey, who needs "thinking" when one already had
    objects and messages ;-)

    Just send a message to Metaclass to ask it 
    who is its class, superclass, what slots/fields 
    does it have, then just do it recursively 
    (but stop after asking who is the class 
    of 'Metaclass class' ;-).

    Repeat this for ProtoObject, but
    why is its superclass not a class ?

    Would it be better if ProtoObject 
    is its own superclass, instead of nil,
    (just as Metaclass is the class of its own class) ?

> a) You will need compiled methods
> b) They have literals
> c) They are run within contexts
> d) They are run within some process
> 
> From a) we can derive that we need CompiledMethod, MethodDictionary and
> superclasses
> From b) we can derive that we need all "literal classes" (String,
> Symbol, Integer, Float, Boolean, Association...)
> From c) we can derive that we need MethodContext and BlockContext (plus
> superclasses)
> From d) we can derive that we need Process, Semaphore and
> ProcessorScheduler (plus superclasses)
> 
> An extra worthwhile thought is about "Smalltalk specialObjectsArray"
> which contains a number of well-known objects and classes (which for the
> most part *must* be present).
> 
> Put them all into a big pot, stir a bit and see what happens ;-)

    Thanks, I already got that big pot 
    (my wife used it to cook pho*?)

    All I need now is a stirring rod, 
    I can steal that from Harry Potter ;-)

    Cheers,

    PhiHo.

    P.S: Pho*? is a delicious beef noodle soup
    (it's more manageable, with chopsticks, than spaghetti ;-)

 




More information about the Squeak-dev mailing list