[squeak-dev] Monticello: loading multiple packages only mentions first package's name

Chris Muller asqueaker at gmail.com
Tue Dec 27 00:16:02 UTC 2011


> Yes, AlgebraicDataType will be installed three times, Unification twice.
> This is because #install: is implemented as #addPackage:, then #install.

That seems like a very wrong implementation..

> Since the Installer subinstance is kept between #install sends, therefore
> the installations will repeat. The solution is to use #addPackage: and
> #install directly:
>
> Installer cache
>        addPackage: 'AlgebraicDataType';
>        addPackage: 'Unification';
>        addPackage: 'Zippers';
>        install
>
> or using a collection:
>
> Installer cache install: #('AlgebraicDataType' 'Unification' 'Zippers')

These solutions would seem to offer a lot less configuratory control
-- since nothing could be done between installations.  And, even
unnecessarily so, since it's really easy for the user to just write
#install:.  Why have a two-word/two-step API instead of just one that
also happens to be a lot more flexible?

I know you were just helping out, it is not your design, but since we
all use Installer it's worth to discuss the API in case one of us gets
an itch to "fix" it..



More information about the Squeak-dev mailing list