The code is in TcRnDriver about line 764.   No comparison of the "recflag" 
which is indeed a not-very-well-defined beast.

I'd do -dppr-debug to check that unique are ok.  The rnBndrs2 stuff is meant to 
deal with alpha-renaming.

Simon

From: [email protected] [mailto:[email protected]] On 
Behalf Of José Pedro Magalhães
Sent: 26 September 2012 14:12
To: Simon Peyton-Jones
Cc: [email protected]
Subject: Branch new-typeable: conflicting definitions for class Typeable

Hi Simon,

I'm working on implementing the kind-polymorphic Typeable. I've branched the 
compiler and base repos into new-typeable. Currently I'm getting the following 
error:
libraries/base/Data/Typeable/Internal.hs:213:7:
    Class `Typeable' has conflicting definitions in the module and its hs-boot 
file
    Main module: class Typeable (k::BOX) (a::k)
                     RecFlag Recursive
                     typeRep :: Proxy k a -> TypeRep
    Boot file:   class Typeable (k::BOX) (a::k)
                     RecFlag NonRecursive
                     typeRep :: Proxy k a -> TypeRep
make[1]: *** [libraries/base/dist-install/build/Data/Typeable/Internal.o] Error 
1

Why is this? I don't see why Typeable should be recursive, nor do I see how to 
make it recursive on the hs-boot file...


Thanks,
Pedro
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to