Proposal for the coming versions

Colin Putney cputney at wiresong.ca
Wed Mar 15 19:35:22 UTC 2006


On Mar 15, 2006, at 1:17 PM, Andreas Raab wrote:

> Depends on what you mean by "atomic load". If atomic means you load  
> and compile everything, and when finished you install everything in  
> one big become, then yes, this would fix many problems. If you mean  
> "load packages together" instead of one after the other, then no,  
> this wouldn't.

Earlier Adrian mentioned SystemEditor, so I think he's referring to  
the first option. System Editor does exactly that - it builds new  
classes and compiles methods in a sandbox, and then does a big become  
at the end. (Well, actually, a #become: and a #becomeForward:).

SystemEditor is mostly complete, and works pretty well, but there are  
still some subtleties to be worked out. I've been able to use it to  
atomically load some packages in Monticello2, but it's still tripping  
over edge cases.

The other aspect to SystemEditor is that it's more flexible than  
ClassBuilder about migrating instances. It currently has one  
migration strategy - the standard one that maps values according to  
ivar names and assigns nil to any new ivars. But other migrators can  
be used as well. I plan to take advantage of this in Monticello2 with  
a migrator that can handle class and ivar renames, and of course  
custom migrators can be built as well. The only thing missing to  
allow this is a protocol for specifying the migrator to use for a  
given class.

Colin



More information about the Squeak-dev mailing list