Squeak as Linux and other threads

Martin Wirblat sql.mawi at t-link.de
Wed May 21 10:29:43 UTC 2003


Hi Göran,

>In short - if we start to have "name based" references INSIDE the SM
>model (which IMHO this is - the dependency model should be inside SM
>otherwise we will not be able to work with it) then we immediately 
>need to add a lot of smarts to make it work. It is simply not KISS 
>anymore. 

In a system where packageName+versionNumber is unique you can say 
something like versionNumber >= x for the dependency system. Isn't 
this much more simple than to supply a list of UUIDs, which has to be 
updated every time a new version of a prerequisite arrives? 

I would think we will need to deal with, or to type or to read the 
reference much more often than we may think now. 

For instance if we later decide to have 'sort of name spaces' created 
during filein, with prefixing globalNames with packageNames ( i.e. 
PackageName_GlobalName ) we may end up coding with these references. I 
think such 'name spaces' are an interesting alternative to real name 
spaces, they are fitting to the philosophy of assembling together a 
special image with load scripts, and we should have this option for 
the future. 

Furthermore we need to talk about packages, and we will not reference 
them by UUID, we will use their names and versions. 

The notion of packageName+versionNumber has more information than a 
quasi-random number. 

To make things easier package names should be unique ( which you said 
is assured already ) and they should NOT be changed. But if for some 
reason it is seen appropriate, you can change a name. Assuming that 
you supply a new version of the package too, the name+version notion 
will be more simple than UUID's: 

For the dependency system you will have at maximum the same overhead 
as with creating a new UUID ( you will need a longer description of 
allowed prerequisites for packages depending on the renamed one ). For 
SqueakMap it is simply a new package, and if you want to be able to 
track down the history of a package than the UUID version will need 
equal or more overhead too. 

Given the two alternatives [name+version alone] and [name+version and 
UUID] I think I vote for the former. If we really use name+version 
sometimes and UUID some other times we are violating your beloved KISS.
 
Perhaps we can have something like packageName+buildNumber where 
buildNumber is generated by SqueakMap and starts with and is 
incremented by 1 to have even more KISS. 

The only reason I see for using UUID's is that they can be created 
isolated and be guaranteed unique where unique names require somewhat 
more to do, but I think this additional effort is dwarfed by the 
advantages a unique packageName+buildNumber has. 

regards,
    Martin




More information about the Squeak-dev mailing list