Original-Via: uk.ac.nsf; Thu, 23 Jan 92 21:22:37 GMT
Original-Sender: [EMAIL PROTECTED]
I was planning to stand aside on syntax issues, but this is going too far!
Simon proposes:
the back-quote stuff in the lexical syntax,
and the paren-ifying in the ordinary syntax.
Kevin adds:
I agree with you, Simon. Errors from unmatched backquotes
could be harder for users to spot in the 1.2beta syntax,
especially as backquote's a self-matching character...
Joe and Paul wimp out:
Neither of us feel strongly about it.
Me:
Oh no! Not more syntactic convolution!
I agree completely with the original goal of the change to both the
parenifying and back-quote stuff: we need more syntactic consistancy.
What purpose does it serve to place two almost identical concepts:
changing an operator to a var and changing a var to an operator, in
different syntactic catagories. Why should we be worried about
whether
`foo {- aaa -}`
begins to creep into the programs of unsuspecting Haskell programmers?
Who would actually write something like this? Do we instead have to make
` foo ` a syntax error? After all, ( + ) is OK. In fact, even
(+ {- aaa -}) is OK. I don't follow Kevin's comment about errors in
unmatched backquotes being hard to spot. All you have to so is look
for an id and another backquote - why is this a problem?
So - leave it alone! Strike a blow for consistancy! We've already
got plenty of syntactic gotchas. Example:
a+1 = b -- definition of +
(a+1) = b -- pattern binding of a
OK - I feel better now.
John