A New Revealation: Semi-Permeable Membranes

Mark S. Miller markm@caplet.com
Tue, 26 Oct 1999 17:23:21 -0700

At 11:30 AM 10/26/99 , Bill Frantz wrote:
> >>       define square(int : x) int : { x * x }
> >
> >[?] Why is left-of-colon more consistent than right-of-colon?
>[#] Having the guard always to the left of the value is more consistant
>than having it on the right for parameters and on the left for the routine

[+] Ok, got it.  
[-] But I'm not gonna do it.

Since my type declarations are optional, I wouldn't know, when parsing, whether I was looking at a defining occurrence of a new variable or a the beginning of a SlotGuard expression until I saw whether or not there was a following colon.  Also, languages that use ":" in declarations (Pascal) do it in "x : integer" order.  Popular languages that do it in the other order (legaC) don't use a separator, which would make my parsing problems much worse.  If I was going to do it in legaC order, I'd have to choose a symbol other than ":", and I know of none that would be widely recognized.