
#9111: base should export Typeable instances of its promoted data constructors -------------------------------------+------------------------------------ Reporter: goldfire | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by simonpj): Ah yes I see. * The key module is `Data.Typeable.Internal`. * It declares the `Typeable` class, which mentions the data type `TypeRep`. * In turn `TypeRep` uses `Fingerprint` from `GHC.Fingerprint.Type` * And fingerprints use various `Word` types to do grungy stuff. As a result, `Data.Typeable.Internal` has to depend on `GHC.Word` etc. It also depends on a bunch of other things and I'm not sure they are all necessary. It would be good to make it depend on as little as possible. Regardless, * the modules "below" `Data.Typeable.Internal` (i.e. the modules on which `D.T.I` depends) can't be compiled with `DeriveAutoTypeable`; instead there are `deriving instance Typeable T` declarations in `D.T.I` for all of their types. * all other modules in `base` can have `DeriveAutoTypeable`. Does that make sense? Who would like to do it? Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9111#comment:16 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler