Parsing Smalltalk with SmaCC

Ralph Johnson johnson at cs.uiuc.edu
Fri Jun 29 11:42:19 UTC 2007


SquekMap and Package Universe differ in at least two ways.

The one that people notice immediately is that PU knows the
prerequisites for a package.  Thus, when you load a package in PU, you
load all the packages that it depends on.  This makes it much easier
to use than SM.  SM ought to be changed to do the same, and if it
doesn't change then in my opinion it is likely to be abandoned.

The second major difference is that there is one SqueakMap, and it
tries to hold everything.  There can be many databases for PU, on the
other hand.  One PU can include another.  Each PU is supposed to have
someone who oversees it and who makes sure that everything goes
together.  However, this last feature hasn't been used much.  There
was a PU for 3.9 and there is a different one for 3.10.  But lots of
different people stick stuff in the 3.10 "universe", and so it can
take awhile before we discover that two packages don't work together.

It is useful to have a complete list of packages.  It would be a shame
to abandon that feature of SM.  Most of the time, however, I only want
packages that are known to work with my current version.

SM has some other features that PU doesn't, such as recording license
info.  PU can't uninstall a package, and I think SM allows this.  It
would be nice if PU added these features.  But the strength of PU is
that everything is supposed to work together, so PU is fundamentally
at odds with the requirement to find every existing package.

Edgar said that the 3.10 release team is going to drop SM.  That is
not entirely true.  We have been moving packages out of the image, and
PU makes that easier.  When we move a package out of the image, we
move it into PU.  So, the plan is to move SM from the image to PU.  It
will still be available.

The names of SM and PU seems wierd to me.  Sicne SM tries to include
everything, it should have been called "Squeak Universe".  Since PU
only contains packages that work toether, it shouldn't have been
called "universe".  Perhaps "galaxy", since there are many galaxies
but only one universe.

-Ralph



More information about the Squeak-dev mailing list