[squeak-dev] binary development (was: 3.11 and the trunk)

Jecel Assumpcao Jr jecel at merlintec.com
Tue Aug 25 02:30:41 UTC 2009


Colin Putney wrote:
> I note, though, that the wiki page you mention doesn't actually say  
> much about development.

That is left up to other tools in this proposal.

> It's mostly concerned with efficient ways of  
> moving objects between images.

It can't even do that either - an object can only be reloaded into the
exact same image from which it was extracted (unlike ImageSegments). The
idea is that by letting several "images" live side by side in memory and
disk without taking up too much space then you won't mind dedicating an
"image" for each Squeak application you use.

> Reliably reconstructing part of one  
> image in another is certainly a crucial part of collaborative  
> development, but it's not everything.

You are right, but as I mentioned above my proposal doesn't even try to
do that much.

> The other key feature of Monticello is merging. If you and I have the  
> same chunk in different image, and we make differing but compatible  
> changes, how can we create a chunk that contains both sets of changes?  

You would have to use Monticello or something similar (in which case you
would be limited to source code). For "merging" generic objects my idea
was to use Croquet, but then you would be limited to the equivalent of
instant messaging rather than email.

> I submit that any tool that can do that will have explicit knowledge  
> of the semantics of objects it's merging, whether Smalltalk code,  
> Etoys projects or something else.

Yes. And I have given up on automatic conflict resolution after working
many years on the problem (for the more general Neo Smalltalk modules,
since for Chunky Squeak you can't even get conflicts in the first place
as it is so limited).

> So the wonderful generality of the Chunky Images idea only gets you so  
> far, and you still need a tool like Monticello to actually create  
> collaboratively. In Monticello 2 I've tried to address this idea  
> explicitly: the core versioning engine is knows nothing about the  
> semantics of the objects it's versioning, but it does rely on  
> pluggable domain models that do.

I should have mentioned http://wiki.squeak.org/squeak/5637 (Neo
Smalltalk "groups") as well since Chunky Squeak is just a very stripped
down version of it. In that system you do have merging in something that
is similar to "commit" in transactional systems.

-- Jecel




More information about the Squeak-dev mailing list