[ENH] UpArrow as operator

Marcel Weiher marcel at system.de
Thu Mar 18 09:37:02 UTC 1999


Hmm, is there anything you hadn't already done in '72 ? :-)

It would be very interesting to hear what some of the implications  
were, and why the change was made to simple returns (presumably to  
simplify the implementation and usage patterns for the common case).

My explorations into iteration have led me to the conclusion that  
this meaning of the 'return' construct would greatly simplify that  
area by making it possible to encapsulate even very complicated  
traversals, and it turns out that the iteration constructs of the  
Sather language do something very similar (though not as generally).   
Another application is backtracking (which, I think, corresponds to  
a 'traversal' over an implicit structure representing the  
computation).

Combining the ideas of (a) getting multiple results from a single  
message send (a dynamic collection) and (b) sending messages to  
multiple objects makes for a *very* powerful programming model that  
is still conceptually as simple as the original ST message send.

Marcel

> From: Alan Kay <Alan.C.Kay at disney.com>
>
> Interesting transitions ...
>
> In an early Smalltalk conception, what is now the up arrow was a symbol 
> that stood for the sender object, i.e. it was a special symbol with a 
> special meaning (like self), so you were "sending-back" the result. 
>
> (And, in the earliest "one-pager" of Smalltalk, sending and receiving 
> were
> actually symmetric: one "sentback" the result(s) to the original sender 
> which could "takeback" and bind the (possibly multiple) result(s).) 





More information about the Squeak-dev mailing list