[GHC] #9111: base should export Typeable instances of its promoted data constructors

GHC ghc-devs at haskell.org
Mon May 19 23:07:34 UTC 2014


#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


More information about the ghc-tickets mailing list