Why we should remove {} from Squeak

Mark van Gulik ghoul6 at home.com
Mon Oct 1 19:43:05 UTC 2001


On Monday, October 1, 2001, at 02:17 pm, Jecel Assumpcao Jr wrote:
[...]
> In fact, I have followed Richard's advice to its logical conclusion in
> the two languages I am currently implementing (Self/R and the
> Forth-like Final) - no literal syntax of any kind. Instead, I let the
> programmer drop any live object into the source text. So characters,
> numbers, strings and arrays (even blocks, actually!!) are no more
> special than polygonMorphs and sampledSounds.

An interesting extreme, but the ability to move/copy objects between 
images is crucial to team development (unless you're willing to always 
stay connected to a single global image, but that's unlikely).

> In Self, "4+5*6" generates complaint about a syntax error. You *must*
> use parenthesis for this to compile. The exception to the "ambiguous
> binary selectors" rule is when the same selector is used multiple times
> as in "4+5+6", though I could live without this small convenience.

That *would* also be the case in my language Avail 
( http://www.ericsworld.com/Mark/HTML/Avail.html ), but then I invented 
the concept of negative precedence rules.  It's probably worth a look 
for both Selfers and Squeakers.  Ordinary precedence rules in something 
big and flat like Squeak or Self (ignoring the module systems for both) 
would be ludicrous (e.g., which should bind tighter, "->" or ",", and 
why?).




More information about the Squeak-dev mailing list