RE: Branch new-typeable: conflicting definitions for class Typeable

Simon Peyton-Jones <[email protected]>
Newsgroups gmane.comp.lang.haskell.cvs.ghc
Message-ID <59543203684B2244980D7E4057D5FBC1379EA9A6@DB3EX14MBXC306.europe.corp.microsoft.com>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.