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
>body.
[+] 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.
Cheers,
--MarkM