[commit: base] master: Implement poly-kinded Typeable (d99bca9)

José Pedro Magalhães jpm at cs.uu.nl
Tue Feb 12 11:39:30 CET 2013


Repository : ssh://darcs.haskell.org//srv/darcs/packages/base

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/d99bca9c2007c67f7d9ea00bf35485d0276de869

>---------------------------------------------------------------

commit d99bca9c2007c67f7d9ea00bf35485d0276de869
Author: Jose Pedro Magalhaes <jpm at cs.ox.ac.uk>
Date:   Thu Feb 7 13:51:19 2013 +0000

    Implement poly-kinded Typeable
    
    This patch makes the Data.Typeable.Typeable class work with arguments of any
    kind. In particular, this removes the Typeable1..7 class hierarchy, greatly
    simplyfing the whole Typeable story. Also added is the AutoDeriveTypeable
    language extension, which will automatically derive Typeable for all types and
    classes declared in that module. Since there is now no good reason to give
    handwritten instances of the Typeable class, those are ignored (for backwards
    compatibility), and a warning is emitted.
    
    The old, kind-* Typeable class is now called OldTypeable, and lives in the
    Data.OldTypeable module. It is deprecated, and should be removed in some future
    version of GHC.

 Data/Data.hs                                    |    4 +-
 Data/{Typeable.hs => OldTypeable.hs}            |   84 ++++----
 Data/{Typeable.hs-boot => OldTypeable.hs-boot}  |    2 +-
 Data/{Typeable => OldTypeable}/Internal.hs      |    5 +-
 Data/{Typeable => OldTypeable}/Internal.hs-boot |    2 +-
 Data/Typeable.hs                                |  160 +++-----------
 Data/Typeable/Internal.hs                       |  261 ++++-------------------
 Data/Typeable/Internal.hs-boot                  |    9 +-
 base.cabal                                      |    4 +-
 include/{Typeable.h => OldTypeable.h}           |    0 
 include/Typeable.h                              |   14 +-
 11 files changed, 135 insertions(+), 410 deletions(-)


Diff suppressed because of size. To see it, use:

    git show d99bca9c2007c67f7d9ea00bf35485d0276de869



More information about the ghc-commits mailing list