[squeak-dev] [ANN] SqueakSVN

Antony Blakey antony.blakey at gmail.com
Wed Sep 17 00:06:16 UTC 2008


On 17/09/2008, at 9:10 AM, Eliot Miranda wrote:

> But I'm not sure I buy the mapping of an image to the repository.  I  
> would rather browse packages than images (e.g. a packages  
> subdirectory containing a directory per package) and I still want  
> the changes file for crash recovery.  But thats a tension right  
> there.  Does one keep Smalltalk structures like the changes file and  
> their support or go the whole hog and just use Git for all source?   
> Personally I want to keep as many of the tools in Smalltalk as  
> possible so I can fix and extend them as I'm working.  A large wadge  
> of C should be kept in the back ground as much as possible.  Its a  
> file system after all.

I've been working on GIT integration for some time, and I have a  
working system called MirrorImage that I have blogged about. It does  
use source files, although my thinking is that the fact that some ST  
artifact may be reified as a text stream is simply an API issue - text  
being a type, and the fact that it may be transfered on disk is  
equivalent to a parameter passing convention. I don't see what the big  
deal is here - as long as the domain mapping is bidirectional under  
all the transformations that GIT/Bazaar etc makes.

When you compare VW and Squeak, one exemplar difference is in how  
overrides are handled. In VW they are up-front, which is a result of  
VW's emphasis on it's packaging system as a means of system  
construction and partitioning.

IMO though, VW doesn't go far enough. MirrorImage reworks how classes  
are constructed from fragments, e.g. how different packaging units are  
combined to make up the definition of a class from attributes such as  
variables, traits and other properties, as well as methods. This  
includes not only incremental additive construction including ordered  
replacement/overrides, but subtractive and transformative  
construction. GST makes some steps in this direction by allowing you  
to incrementally add instance variables in extensions.

The issue of system construction, at all levels of granularity,  
packaging, modularity, and version control, are IMO not orthogonal,  
and the greatest advance comes from considering them holistically.

Antony Blakey
-------------
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787

If you pick up a starving dog and make him prosperous, he will not  
bite you. This is the principal difference between a man and a dog.
   -- Mark Twain





More information about the Squeak-dev mailing list