[Packages] Split-Join in development universe etc

Lex Spoon lex at lexspoon.org
Fri Aug 17 22:01:50 UTC 2007


"Jason Johnson" <jason.johnson.081 at gmail.com> writes:
> Wouldn't it be best to get this fix loaded into the Montecello repository as
> a proper change, so that the Universe just has to point at the new version?

I have the same question.  Why not post a Monticello file and link to
it?  Or if Monticello cannot handle it (why?), link it to a changeset?


In the world of computer representations, it is often nice to use a
representation whose power is limited.  For example, regular
expressions are not Turing complete, but there are all kinds of
convenient things about regexes.  You can test a specific string in
linear time.  You can test a regex itself for whether it matches
nothing at all... or if it matches everything.  You can't do these
things with an arbitrary program in a Turing-complete language,
because the representation is too powerful.

The same goes for package formats.  I would like us to use a package
format where basic intuitive properties hold [1].  For example, you
can load and unload a package and get back to the original state.  As
another example, if you have a file with a package in it, then the
file is all you need to load it.  You should not need the file, plus
an Internet connection, to load the package.

As a case in point, when I release a stable universe, I normally
gather all of the package files and put them in one archival location.
The main reason is that web sites come and go, but I can control my
own archive pretty well.  Obviously, if your package file is scanning
the Internet at load time, then this archiving is less effective.


> Personally I see Monticello as a change repository like CVS, SVN, etc. (but
> better), and Universes as the "apt-get" system debian has.  I don't think
> the apt-get system automatically picks anything up, it only gets what has
> been configured for the set it is working on (e.g. Stable, Unstable, etc.).
> Now those sets may be programatically updated, but the apt-get system itself
> doesn't (afaik anyway) and imo shouldn't do it.

That is my view as well.  I am very happy to see Monticello mcz's
emerging as a package format.  I am also very happy that people like
Keith are going through all the corner cases of making it work in
Squeak, because even basic loading and unloading is not easy in
Squeak!


Lex


[1] To split a hair, I know these properties are unrealistic ideals.
It is still nice to get as close as possible.




More information about the Squeak-dev mailing list