[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
|