GHC fails to respect the maximal munch rule while lexing "qualified reservedids"
The following program I believe is legal haskell 98:
module Main where
t = 2
defaul _ = return ()
main = Main.default
since Main.default is an illegal lexeme, but Main.defaul is a perfectly good qvarid. however ghci rejects it:
Bar.hs:5:12: parse error on input `default'
Something very similar to this is documented, but only in the qvarsym case. This appears fairly easy to fix using extra rules in the lexer; a flex lexer that does what I consider correct can be found at http://members.cox.net/stefanor/h98lexer.l.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 6.6 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | low |
| Resolution | Unresolved |
| Component | Compiler (Parser) |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Unknown |
| Architecture | Unknown |