Background on that crazy dot idea

Marcel Weiher marcel at system.de
Sun Mar 28 17:56:12 UTC 1999


Wow, my crazy little idea generated quite a bit of discussion.  The  
funny thing is that I didn't really consider the 'dot' part all that  
crazy, in fact it is actually not new to Smalltalk.  GemStone uses  
it, and my post was actually triggered when I found out that ThingLab  
uses it to enable change management.

My central idea was that messaging consists of naming the  
participants and then sending the messages, and that naming is really  
just a special case of selection (compare 'Design Principles Behind  
Smalltalk').  Generalizing naming to selection by allowing 'complex  
names' would not really be a change to Smalltalk, but more the  
lifting of a current restriction on what can be accessed by name.   
The idea is definitely not just to provide convenient shortcuts for  
certain message sends, although that is a nice effect.

See 'Adaptive Programming' (http://www.ccs.neu.edu/research/demeter)  
for a more thorough treatment of the problems of graph traversal and  
an interesting solution.  Having a name for 'the contents of this  
collection' or other dynamic entities is something that appeals  
greatly to me, especially if the mechanism is simple and can be the  
core for quite a few other applications.

However, this is really a blue-plane idea, and definitely something  
that needs to be thought about a little more, although as Stefan  
demonstrated, a simple version isn't really that hard to add.  A more  
comprehensive approach that also takes name-spaces into account  
would be to treat (complex) names as entities that are resolved  
recursively in the dynamic execution context, with only simple +  
local names being resolved at compile time.

Marcel





More information about the Squeak-dev mailing list