Messaging (Re: Single page programs)

Marcel Weiher marcel at system.de
Tue Dec 15 15:26:28 UTC 1998


"Michael S. Klein":
> On Mon, 14 Dec 1998, Bruce Cohen wrote:
> > Stop me if I'm going to far here, but wouldn't it make sense to  
make a
> > first class notion of relationships be a fundamental component out of 
> > which you build things like classes & prototypes?
>
> It would make much sense. As has been noted over and over again,
> the key principle in all of this OOP stuff is messaging.
>
> Yet, Smalltalk has no first-class representation of messages.
> Smalltalk has only the minimal meta-objects to support execution:
> selectors.

Well, actually it does:  the class 'Message', though this is  
probably not what you want.

I am guessing that by 'message' you mean the generic operation that  
is named by a selector, which sadly does not even really have a name  
at this point, much less a first class representation.

I think the notion of 'messaging' actually has two distinct  
components:  one is generic operations, the other is distribution  
patterns, with todays messaging being just one very specific  
distribution pattern:  messages naming a generic operation get  
distributed to a single named ('well known') object, which  
synchronously invokes a method.

Other distribution patterns include sending the message to a  
collection of objects, forwarding the message to another object for  
handling (delegation), transmitting the message to another system  
(distributed objects) and broadcasting/multicasting (implicit  
invokation).  Distribution can also go the other way, with objects  
being distributed to (generic) operations, as in dataflow systems.

Marcel





More information about the Squeak-dev mailing list