[Squeakfoundation]An architecture for sustainable Squeaking
Joseph Pelrine
squeakfoundation@lists.squeakfoundation.org
Sun, 03 Jun 2001 11:44:25 +0200
At 22:40 02.06.2001 , Stephen Pair wrote:
> > 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.
Hey, thanks for the compliment <grin>. I tend to refrain from posting and
writing because I realize how little I actually know (and how irrelevant
most of it is). Also, I find that actions (code) speak louder than words.
I'm happy that some of my musings are helpful to someone, though.
If someone wanted to put this into a Squeak project, I'd be happy to help -
I just don't have the time myself. It could use some updating, too. I've
learned a bit more since I wrote that presentation.
>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?
Hmmm. I know I *can* do it, I know *how* to do it (one possible way), but
it hasn't been on the requirements list. I also wish I had more time to
write code, or someone who would pay me for doing it (no, I'm not begging
for a job - just musing again).
>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.
I have some ideas about that (see above). The one guy who's been there and
done that many times over is Dave Simmons.
--
- Joseph Pelrine [ | ]
Daedalos Consulting
Email: jpelrine@acm.org
Web: www.daedalos.com/~j_pelrine
Smalltalk - scene and not herd!