Fear and loathing of the "perification" of Smalltalk
Alan Kay
alan.kay at squeakland.org
Wed Sep 5 00:19:05 UTC 2007
I can't remember the exact terms anymore but here is the rough syntax
of "these kinds of things" from the first FLEX language ca. 1967. *
means iterate, + means 0 or 1.
Compound ::= begin Body end | ` Body '
Body ::= +{ Variable List} Expression *{ (; | , ) Expression }
These subsumed blocks and lists (and lambdas) and were treated as
arrays, so they could be indexed. The semantics treated ";" as a
clear top of stack operation, and "," as a keep top of stack
operation. So the values would get pushed or popped as evaluation
proceeded. The compiler counted commas at each level of nesting so it
could always make the object out of the values on the stack.
Pretty simple and useful, but I didn't think it led to great
programming particularly.
Wrt Smalltalk (or any language), I think being able to judiciously
extend the syntax is a good idea (though often misused), but it needs
to be done at the same level as regular programming (so it can be
used by any base version of the language).
Cheers,
Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20070904/80d3009b/attachment.htm
More information about the Squeak-dev
mailing list
|