Haskell 98 Revised

Simon Peyton-Jones simonpj@microsoft.com
Mon, 5 Nov 2001 01:46:33 -0800


|
http://research.microsoft.com/~simonpj/haskell98-revised/haskell98-repor
t-html/index.html
| says "Revised: October 2001" - am I seeing the latest version?

Yes you are -- my mistake.

| 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
looked
I didn't see an obvious solution, but now I look again, it seem simple.
(Procrastination sometimes works.)

Proposal:=20

	in the syntax for "lexeme", replace "qop" by "qvarsym |
qconsym".

So the syntax for lexeme becomes

	lexeme -> qvarid | qconid | qvarsym | qconsym |=20
			literal | special | reservedop | reservedid=20

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.

Do you agree?

Simon