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

Klaus D. Witzel klaus.witzel at cobss.com
Wed Aug 6 21:41:23 UTC 2008


On Wed, 06 Aug 2008 22:04:10 +0200, Andreas Raab wrote:

> Igor Stasenko wrote:
>> The process of picking objects, dealing with unwanted references,
>> cutting an object graph - all this is on hands of developers.
>
> And of course, all of this "picking objects, dealing with unwanted  
> references, cutting object graphs" is exactly why this process has  
> nothing in common with creating an image from first principles.

What Igor decribes is indeed usable for doing such things, logically  
cutting an object graph out of the existing one, do one or two </grin>  
substitutions, then put it to work in another Hydra thread+heap.

But [what he describes] is also sufficient for creating a new class  
hierarchy (other metaclass concept anybody? traits anybody), with  
supporting instances created from themselves, with no backpointer into  
whatsoever, and then putting that object graph to work in another Hydra  
thread+heap. This view on the very same thing is perhaps of more interest  
to you.

And when looking to put first principles to work, the second view is what  
you want (I think so). Especially the "no backpointer into whatsoever"  
facility is offered in an elegant and typically smalltalkish way. The DSL  
is Smalltalk (what else?), no strange file format to care about, no bit  
level/header fiddling to care about. Just stay at the Smalltalk level,  
limited only by the currently running VM.

> It is just transforming one mess into another and not all what I am  
> after.

I think that the mess would be the result of the application of the  
proposed methods for arriving at the new image ;)

Only those things that are part of the contract with the currently running  
VM must be taken care of, and that is independend from how one would  
arrive at a new object graph.

Of course when one wants changes to the object/header format and other  
such things (better hash values, anyone?), one also wants the  
corresponding changes in the VM, but this would break compatibility.

/Klaus

> Cheers,
>    - Andreas
>
>> But then, when you having a set of objects to be cloned, and a set of
>> references to be substituted - this can be done in atomic way.
>> It also allows to fire up new image without any file i/o.
>>
>>> tim
>>> --
>>> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
>>> The colder the X-ray table, the more of your body is required on it.
>>>
>>
>
>
>





More information about the Squeak-dev mailing list