[squeak-dev] Re: Perl is to CPAN as Squeak is to (what)?
johnson at cs.uiuc.edu
Thu Jun 26 21:08:49 UTC 2008
I would like to speak up for Package Universe.
I have always disliked SqueakMap and I like Package Universe. The
problem with SqueakMap is that there is no dependency information. I
can't just select a package in SqueakMap and file it in and expect it
to work. I can do that with Package Universe. With SqueakMap, I have
to read comments and try to figure out what else needs to be filed in.
I have found PU to be much easier to use than SM. I haven't
published anything with either system, so by "to use" I mean "to get
packages so I can run them" not "to publish packages".
Of course, SM could be fixed. I can't see what would be hard, so I
wonder why it hasn't been done.
A "feature" of Squeak that might differentiate it from perl is that
there are many versions of Squeak. Packages that work with one image
might not work with another. So, if you are using 3.8 then you do not
necessarily want the latest version of some package if that package
only works in 3.9 or 3.10. PU addresses this problem by having a
different Universe for each version of the image, though I think there
is currently a Universe only for 3.9 and 3.10. Even if the code for
PU could run in earlier images, it isn't useful until someone builds a
Universe for it.
This could be handled in SqueakMap by saying that you only load the
versions of packages that have been registered to work with your
In theory, PU is much different from CPAN because it limits who is
allowed to maintain a package. In practice, lots of people are able
to do it. Existing Universes have had a large set of people who can
change them, and pretty much anybody who wanted to do it, could. So,
in practice that aspect of CPAN isn't much different from Universes.
CPAN seems to be distributed, whereas each Universe is on a single
server. Plus, Universes (as with SqueakMap) do not actually store the
source code, but just have pointers to it. Most users can't tell the
More information about the Squeak-dev