Ralph Johnson wrote:
My interpretation of "going to beta" means that we stop adding
features and just fix bugs.  I am in favor.
I would suggest, just fix bugs in the base image, but also be able to update to the latest tools, those that are conceptually also beta/final. For example SqueakMap has had some GUI updates. In the case of tools it should be easier to revert to the original tool if there is a problem before going final. I would also like to vote for my improved SUnit/TestRunner etc.

Investigating Monticello, in particular 309, I think that there are a couple of bugs in there. For example, If you browse a snapshot and manually load a method, this calls #load on the MCMethodDefinition. Under your atomic loading scheme this only compiles the method it does not install it.

I shall spend a couple of more days on monticello to see if I can knock it into shape. I need to use it for a porting project before tuesday.

I thought that my first release had your 'atomic loading' code in it. Since it didn't I have since been looking at a more comprehensive solution.

I so far I have set up the following sequence, #loadOver: [ #install #postinstall ] #postloadOver: , for additions and [ #remove ] #postinstall for removals, where the bracketed items are the atomic bits that happen 'simultaneously'. Now I just need to work out what actions should best happen at what step.

The TTFCache fix broke on loading because the a new Class definition removed a number of Class variables which were then used by the old methods, before the new methods get loaded in.

I am attempting to change the class definition first (at #loadOver:) to something that represents the union of the old and new definitions, then having compiled the new methods. The atomic loading installs the compiled methods, and removes the old methods 'atomically'. The class definition can then be changed to its final state in postLoadOver.

I like this solution because the #initialize function is will have access to both the old and the new class vars simultaneously (etc) so making migrations theoretically possible.

changes, losing some history.   It would be cool to go back and
recover that history and put it in the history database.

Even cooler, we could go back and get all the history in Squeak 1 and
Squeak 2, so we could have a complete history of all code that had
ever been in the Squeak image.  This would only require changing the

and even cooler, you could trawl monticello repositories for yet more method history.
So, here is a summary of my proposal. I want to know what you think about it!
Sounds great

Keith
_______________________________________________
V3dot10 mailing list
[email protected]
http://lists.squeakfoundation.org/mailman/listinfo/v3dot10

Reply via email to