[squeak-dev] Packaging conventions for Objectland - The Worlds of Squeak (was: Objectland - The Worlds of Squeak)

David T. Lewis lewis at mail.msen.com
Thu Oct 20 16:33:09 UTC 2022

Objectland may have been a poor example for me to pick. It was 
fresh in my mind because it is a recent addition.

In my initial mail, I said this:

  "Reloadable means that I can completely remove a package from the
  image, then add it back in, and everything still works."

But I would also add that I expect that the process of unloading
a package does not leave me with dirty Monticello packages. If I
have (for example) package MorphicExtras-Examples and I unload that
package, then the MorphicExtras package is going to be inconsistent.

I would like my hypothetical reloadable package to leave the image
in a consistent state after unloading the package, and I would
like the image to be restored to a consistent state after I reload
the package.

I understand now that making Objectland into a reloadable package
is probably not a good thing to do, for the reasons given below.
But just to work with that as an example, if my goal was to make
ObjectLand be a reloadable package, then putting in a package
called Objectland-Morphic would make this possible without affecting
the overall MorphicExtras package. But then as Marcel says, that
would clutter up the package namespace.

Maybe we do not really have the tools to support this well. Or
maybe my expectations are not realistic. Or maybe both ;-)


On Thu, Oct 20, 2022 at 09:32:28AM +0200, Marcel Taeumel wrote:
> Hi all --
> I like it that we now have a new "handle" for all the Morphic examples that have been living in the image for a very long time, mostly in the "MorphicExtras" package, sometimes "Etoys".
> Personally, I think that "MorphicExtras" and "Etoys" are the packages here that need cleaning up with the potential to unload and reload. There will always be some new examples around Morphic that need a place to live. Attaching the "Objectland" label to every tiny example thing does not feel right. "MorphicExtras-Examples" might be a more fitting label or category.
> "Objectland" is just one possible entry point to a selected set of examples. There can be others. The "Parts Bin" is already there, providing access to almost the same set of things. The dominant decomposition seems to be along "MorphicExtras-Examples" ... or "-Demo" ... I think ... "Objectland" and "Partsbin" are cross-cutting.
> Best,
> Marcel
> Am 20.10.2022 02:32:04 schrieb David T. Lewis <lewis at mail.msen.com>:
> I am a huge fan of Objectland, and I am also a big proponent of reloadable
> packages. Reloadable means that I can completely remove a package from the
> image, then add it back in, and everything still works.
> With the recent addition of Objectand to trunk (yay!) I want to also note
> that this seems like a great candidate for a reloadable package. After all,
> we just loaded it, so we know that part works. All we need to do is make
> sure we can unload it and then put it back in.
> So this leads to a question - if we want this to be reloadable, then
> what should be the package name? I am thinking that 'Objectland-Morphic'
> would work well, and would be consistent with existing package names
> such as 'ToolBuilder-Morphic'.
> If this makes sense, then can we open a new package 'Objectland-Morphic'
> and start moving these recent changes into that new package? The goal
> would be to be able to remove 'Objectland-Morphic' completely from
> any image, than load it again from the trunk repository with everything
> still 100% working.
> Dave


More information about the Squeak-dev mailing list