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