[Squeakfoundation]An architecture for sustainable Squeaking

Stephen Pair squeakfoundation@lists.squeakfoundation.org
Sat, 2 Jun 2001 16:40:18 -0400


> An easy intro (which I - in my modesty - forgot before) is my talk on
> "Modularizing Smalltalk", presented at the ESUG conference in
> '97. You can
> find it at http://www.daedalos.com/~j_pelrine/ under "Lectures".

Joseph,

I read your module presentation.  It looks like one of the most
straighforward explanations of these ideas that I've seen so far...it would
be neat if it were done as Squeak project where the concepts could be
readily demonstrated alongside the text...but I'm babbling now.

It would be nice to support the co-existence of two versions of a module in
an image simultaneously.  Is that part of the plan for StSq?

One other thing that would be great (but which presents even more
challenges), would  be to allow a module to override the behavior of an
existing class, but have the previous behavior in effect for all modules
except those that import the module with the new behavior.

Here's an example:  Suppose I needed a collection to generate a notification
when things are added.  In my module, I modify #add: to trigger an event.
Now, when I use the collection in my module, calling #add: triggers the
notification.  However, the other code in the system (which doesn't import
my module), when calling #add:, gets the original behavior of that method
(no event is triggered).

I realize that this would require deep modification of the message lookup
mechanism, and how method dictionaries are organized...but, I wonder if any
work has been done in this area.

- Stephen