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