On Tue, Jul 24, 2001 at 10:50:16AM -0700, Thomas Hallgren wrote:
Although qualified names are listed in section 2.4,and in appendix B, the two first productions of the grammar are:
program -> {lexeme | whitespace } lexeme -> varid | conid | varsym | consym | literal | special | reservedop | reservedid
There is no reference to qualified names here. I thought the purpose of these productions were to say that a Haskell program is correct on the lexical level iff there is a derivation of it in the lexical grammar, starting from the nonterminal "program".
Similarly, in 4 and 4.4.2, we have gendecl -> fixity [digit] ops but digit isn't in the list of lexemes in 2.2 and B.2, nor is it reasonable for it to be there. I suggest gendecl -> fixity [integer] ops with the value of the integer constrained to be between 0 and 9 inclusive. Incidentally, this is what GHC, Hugs and NHC do, in that they accept infix 0x0003 !$% as equivalent to infix 3 !$% presumably because doing what the Report says would be rather awkward.