Multicasting is common, but support for it is poor (was Re: [squeak-dev] Re: Announcements for class cleanUp protocol?)

Tony Garnock-Jones tonyg at
Sun Feb 28 10:24:47 UTC 2010

Andreas Raab wrote:
> I don't think so. Generally speaking, Announcements are events, not
> actions. Cleanups are actions, not events.

I take your point that the intent of cleanUp does not fit well the
metaphor of an Announcement.

I think there is a deeper idea here, though: cleanUp is an instance of a
pattern where we are simulating the effect of a single message send
being multicast in (quasi-)parallel to *several* receivers who neither
know nor care about each others' existence.

Using your terminology, the body of each implemented cleanUp method is
the action, and the send of the message to the implementing class is the
proximal event. There's a more distal event, too: the call to Smalltalk
cleanUp. Between the distal and the proximal events is where the
simulation of multicast happens.

I had been thinking to reuse Announcements for that simulation of
multicast, because it's a pattern that recurs frequently, but you're
right that the intent is different: it's as if Announcements is merely a
*use* of this multicast pattern for, well, announcing :-)

Is there something deeper here, that Announcements can be built in terms
of? This seems like an important linguistic question. Where are the
languages, OO or otherwise, that support multicast as well as they
support unicast?


More information about the Squeak-dev mailing list