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
|