Haskell 98 Revised
Ian Lynagh
igloo@earth.li
Mon, 5 Nov 2001 14:12:32 +0000
On Mon, Nov 05, 2001 at 01:46:33AM -0800, Simon Peyton-Jones wrote:
> |
> | You still have
> | lexeme -> ... | qop | ...
> | in the lexical syntax but have
> | qop -> qvarop | qconop
> | in the context-free syntax - is this deliberate? It really sucks IMO.
>
> Your message about this is still in my "to deal with" pile. Last time I
OK, no problem - just worrying you'd missed it :-)
> looked
> I didn't see an obvious solution, but now I look again, it seem simple.
> (Procrastination sometimes works.)
>
> Proposal:
>
> in the syntax for "lexeme", replace "qop" by "qvarsym |
> qconsym".
>
> So the syntax for lexeme becomes
>
> lexeme -> qvarid | qconid | qvarsym | qconsym |
> literal | special | reservedop | reservedid
>
> I think this restores the stratification between the lexical structure
> (no whitespace allowed) and the syntactic structure (whitespace allowed
> between lexemes). It also makes the syntax for "lexeme" look more
> symmetrical.
I was thinking of pushing more stuff (varop etc) into the lexical
syntax, but I don't think I can make a good case for why it should make
it into the revision.
> Do you agree?
Yup.
Ian