Thanks for the bug reports.
| (1) GHC can't parse its own interface file?
| I have a parser which I compiled with ghc. Any file which imports
| from this, such as
|
| > module Foo where
| > import Parser
| > foo = "A"
|
| dies with:
| Foo.lhs:3:
| Interface-file parse error: line 1 toks= [ITvarid "lexpr", ITvarid
| "lexsort", ITvarid "lhs", ITvarid "list", ITvarid "listType", ITvarid
| "lpat", ITvarid "lsection", ITvarid "makeCon", ITvarid "makeCond",
| ITvarid "makeError"]
| Foo.lhs:3: Could not find valid interface file for `Parser'
|
| I have recompiled Parser.lhs numerous times under different
| conditions and it still seems to generate ugly interface files.
| All the files together are too big to post. You can find
| the interface file at: http://carol.fwi.uva.nl/~jon/Parser.hi
| and the source for Parser.lhs at: http://carol.fwi.uva.nl/~jon/Parser.lhs
| Will this be enough information to track down the problem?
This one turns out to be easy: you've used "letrec" as a name in your
program which is perfectly reasonable. Unfortunately the interface-file
parser treats it as a keyword!
I'll change this. (Interface file keywords that aren't Haskell keywords are
preceded by "_", but I missed letrec.)
The workaround is: rename letrec to something else until you get 2.03.
(Now I'll look at t'other one.)
Simon