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.
Dave