SqueakMap and Universes synergy (was: SqueakMap crashes in 3.10 beta.7158)

David T. Lewis lewis at mail.msen.com
Fri Nov 2 01:24:19 UTC 2007

On Thu, Nov 01, 2007 at 09:43:58AM -0700, Andreas Raab wrote:
> David T. Lewis wrote:
> >Certainly, but this refers to the handling of multiple versions of a
> >package within the universe (which should generally be discouraged
> >BTW). On the other hand, if you have versions 2 and 3 of FooPackage in
> >your universe, and next year someone adds versions 4, 5, and 6 of 
> >FooPackage
> >to SqueakMap, your universe will still point at version 3. This is
> >probably exactly what you want, particularly if the new and improved
> >FooPackage V6.0 has been updated to use some annoying new feature that
> >breaks your image and that you didn't want in the first place ;)
> I don't get it. What you say above is in every way true for Squeakmap. 
> First, I don't think you actually meant what you said above because it's 
> trivially true in reverse: When putting v2 and v3 on SM and v4...v6 in 
> Universes then SM would (obviously) still point at v3.
> The only way this makes sense is if you say that when you put v2 and v3 
> into universe A and v4 ... v6 into universe B that universe A still 
> points to v3. Okay. SM does that by using version tags - if you mark v2 
> and v3 for vX.y and v4...v6 for vX.z then you'll load v3 if you are in 
> vX.y and v6 in vX.z. Where is the difference?

I meant it in the sense of how I as a package maintainer would expect
SqueakMap and Universes to work. I don't mean to comment on the
implementations, or whether the two should be integrated.

For example, there are various releases of the OSProcess package listed
on SqueakMap that claim to support images back to Squeak 2.8. If I
release something new, I will expect to register it on SqueakMap. Any
of these versions of the package might end up being registered in a
Universe, possibly with my knowledge and possibly not (this has
actually happened already, so it's not a theoretical example).

It's already enough of a hassle for me to keep SqueakMap entries up
to date, so I don't want to be responsible for figuring out all of
the possible Universes that might need to point to various versions
of my package. In a few cases I might have enough time and interest
to keep track of this and do the necessary testing, but in general
I will not.

On the other hand, if I download a new Squeak image and want to load
OSProcess, I like being able to do this with the Universe loader. As
a Squeak user, it's simply a very convenient way to do this, and as
the package maintainer it's a good way for me to make sure that I
load the same version of the package that other users of this Universe
are seeing.

As a user of SqueakMap and Universes, a loose coupling between the
two of them works perfectly fine for me. Having them be more integrated
sounds like a good thing, but it does not matter to me one way or the
other as long as they both work and serve their intended purposes.


More information about the Squeak-dev mailing list