[Newbies] SqueakMap, Universes, Monticello - Lost in dependencies...

Ralph Johnson johnson at cs.uiuc.edu
Mon Sep 29 12:57:27 UTC 2008


On Sat, Sep 27, 2008 at 2:49 PM, Markus Fritsche
<fritsche.markus at gmx.net> wrote:

> What I observed is that it is very hard to find the latest (working)
> packages within the tools provided (SqueakMap, Universe browser).

What you call "Universe Browser", I will call "Package Universe", or
PU.  SqueakMap is SM.

SM and PU are comparable.  SM is a lot older, and is nice because,
until a year or so ago, it had a pointer to pretty much everything
being distributed.  Montecello (MC) is different.  It is aimed at
development, not at distribution.  For a long time people used MC for
development and SM for distribution.  SM basically would point to a MC
repository with the version of the software you wanted.  I think it
was called "SqueakMap" because it would be a map to everything in
Squeak.

The problem with SM was that it had no dependency information.  It
would not try to load dependent packages, or even warn you that you
needed to load them.  You could read the comments of a package and see
if it advertised that it was built on another package, but it was a
pain to build a large system with SM.

PU was an attempt to solve this, but it went a long way beyond
dependency information.  Lex Spoon wanted a package universe to have
only packages that were known to work together.  Thus, there would be
many package universes.  Each one would be self consistent, but
packges from one universe might not work with those from another.  In
contrast, there was only one SM.

PU has been around for several years, but it didn't get popular until
it got used for 3.10.  its popularity had the obvious-in-hindsight
consequence of people putting their packages in it but NOT putting
them in SM.   So, SM no longer has the latest and greatest of
everything.  Moreover, PU tends to have lots of versions of each
package, which is entirely against the original purpose of PU, since
not all versions will work with every other.  In retrospect, PU should
have used SM to find the latest version of a package.  That would have
forced people to keep putting info in SM.

I am surprised that nobody has yet upgraded SM to do everything that
PU does.  That would be one solution to the problem.  Keith Hodges has
built something called Sake/Packages that lets you write scripts that
does everything that PU does, but that can do this upon SM, and has
proposed using this and SM instead of PU.  One of the reasons that PU
got off the ground was the Lex Spoon built a few universes, and then
he got some people to maintain them.  Perhaps someone needs to write
the Sake packages to get things started.

If you are using a fairly standard image, you should try using the
universe for the package and then complain to package authors when the
version of the package in it is out of date.  If you use SM, complain
to package authors when the latest version is not in SM.  The tools
are there, but people have to use them.  Certainly they can (and
should) be better.  But until they are better, we ought to use them as
best we can.

-Ralph Johnson


More information about the Beginners mailing list