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

Reply via email to