Hello Folks,

Thank you for 2.02.  It looks really nice.

I am busy compiling some of my files which compile
under 2.01.  I have run into two problems so far:

(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?

(2) Reader error for strict datatypes?

    > data Foo = Crunch ! Int ! Int Int
    compiles fine.
    > data Foo = Crunch ! Int Int Int
    seems to compile into
    > data Foo = Crunch ! Int (Int Int)
    Unless the syntax has purposefully changed, is this supposed to be 
    the case?  

    I compiled using the -ddump-rdr to dump the reader output,
    and for the first example I get:

    data Foo [type constructor or class] 
      = Crunch [data constructor] ! Int [type constructor or class] 
          ! Int [type constructor or class] Int [type constructor or class]

    for the second I get:

    data Foo [type constructor or class] 
      = Crunch [data constructor] ! Int [type constructor or class]
      (Int [type constructor or class] Int [type constructor or class])

    which of course leads to all sorts of type errors.

Thank you!

Jon

(Using Solaris distribution of ghc-2.02 running on Solaris 2.4
 (Which incidentally doesn't have the function getrusage which 
  is needed to run ghc, and for which you have to hack the compiler
  a bit to get it to work),
 Everything compiled with:
  ghc-2.02 -cpp -DGHC=1 -fglasgow-exts  -H60m -syslib hbc  -c Parser.lhs 
 )

Reply via email to