Inconsistent .hi files with associated types?

Niklas Broberg niklas.broberg at gmail.com
Sun Mar 23 12:34:22 EDT 2008


Hi all,

I'm getting a weird warning/error message from GHC that I don't understand:

=====================
$ runhaskell Setup build
Preprocessing library hsp-hjscript-0.3.4...
Building hsp-hjscript-0.3.4...
[1 of 1] Compiling HSP.HJScript     ( HSP/HJScript.hs,
dist\build/HSP/HJScript.o )
C:\Program\Haskell\hsp-0.3.5\ghc-6.8.2/HSP/Monad.hi
Declaration for $f35
Unfolding of HSP.Monad.$f35:
  Can't find interface-file declaration for type constructor or class
HSP.Monad.:CoF:R32XML
    Probable cause: bug in .hi-boot file, or inconsistent .hi file
    Use -ddump-if-trace to get an idea of which file caused the error
C:\Program\Haskell\hsp-0.3.5\ghc-6.8.2/HSP/Monad.hi
Declaration for $f6
Unfolding of HSP.Monad.$f6:
  Can't find interface-file declaration for type constructor or class
HSP.Monad.:CoF:R5SetResult
    Probable cause: bug in .hi-boot file, or inconsistent .hi file
    Use -ddump-if-trace to get an idea of which file caused the error

C:\Program\ghc-6.8.2\bin\ar.exe: creating dist\build\libHShsp-hjscript-0.3.4.a
=====================

Can anyone explain to me what's up here?

I have no .hi-boot files., and -ddump-if-trace gives no further info.

Both XML and SetResult are associated types. Both of the instances in
question are defined in a different package, which compiles without
error. The classes that define the types are in yet another package,
which also compiles without error.

I note that the compilation of the package continues, so I suppose
these are error messages only, even though they sound quite fatal. But
what effect will this have on programs using the module?

Cheers,

/Niklas


More information about the Glasgow-haskell-users mailing list