Another problem with the current fileout format

Colin Putney cputney at wiresong.ca
Sun Jun 29 10:28:44 UTC 2003


On Sunday, June 29, 2003, at 02:18  AM, Stephane Ducasse wrote:

> Our problem was that we had 3.5 complaint changeset and that we wanted 
> to load them in 3.6alpha in which class had
> been removed in parallel. So alex built a splitter that given a set of 
> removals and a changeset generates a new changeset and a set of 
> changesets for each of the removals. So perfect.

[snip]

> This kind of explicit representation would work well for class 
> definition, Pool Definition, Class initialization too this means that 
> we could load code without executing it and this would support all 
> kinds of cool tools. Note that this was one of the idea behind the 
> file format of Ginsu.

This is exactly the reason we wrote Monticello.

Monticello uses a declarative representation of Smalltalk code, along 
the same lines as the ANSI spec or Ginsu. When loading a package, it 
creates a model of  the package, analyzes it in relation to the image, 
produces a patch, and applies the patch to the image.

If it finds any unmet dependencies during the analysis, it will show 
you what parts of the package it won't be able to compile, and gives 
you the option to continue on with the whatever *can* be compiled or 
quit and leave your image unchanged. I suspect that this would have 
solved the problem you mentioned.

It sounds like you and the other "Berne guys" are running into 
difficulties with concurrent development. That's exactly the problem 
that Monticello and CVS are meant to solve. Avi, Julian, Andrew and I 
(the "Vancouver guys," I guess) have been using them for several months 
now - they work great. You really ought to take the time to try them 
out.

Cheers,

Colin



More information about the Squeak-dev mailing list