Matthew can you explain how you achieve atomic loading? I thought that what I would do is: - create an new SystemDictionary - compile the code to this new namespace (not sure that this is easy) - then if nothing wrong happen, add the new name to Smalltalk. Stef On Jun 27, 2008, at 11:41 AM, Matthew Fulmer wrote:
I am fixing bugs in a new loader for Monticello that does code loading in a truly atomic fashion: code is swapped into the system, and pointers are revised in exactly ONE primitive. I have it working well enough that I made it my default loader. It is able to load problematic packages that are sensitive to inconsistencies during loading, like Monticello and Morphic. As an Acid test, I am able to load Monticello using the new package loader, which has, until now, been impossible in any version of Monticello. The biggest remaining issue is Traits support; Packages with traits are not supported.
Stef