[commit: ghc] master: Fix #9111. (9dbf340)
git at git.haskell.org
git at git.haskell.org
Wed Jun 11 13:32:29 UTC 2014
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/9dbf3409716fe0ec2a57688124d1ee903db77f0e/ghc
>---------------------------------------------------------------
commit 9dbf3409716fe0ec2a57688124d1ee903db77f0e
Author: Richard Eisenberg <eir at cis.upenn.edu>
Date: Tue Jun 10 17:44:32 2014 -0400
Fix #9111.
Data.Typeable.Internal should now derive instances for all types
defined in modules beneath it.
Still to do: Typeable instances for type literals, but that's a very
separate matter.
>---------------------------------------------------------------
9dbf3409716fe0ec2a57688124d1ee903db77f0e
libraries/base/Data/Typeable/Internal.hs | 59 ++++++++++++++++++++++++++++++--
1 file changed, 57 insertions(+), 2 deletions(-)
diff --git a/libraries/base/Data/Typeable/Internal.hs b/libraries/base/Data/Typeable/Internal.hs
index fa18bf9..1bee846 100644
--- a/libraries/base/Data/Typeable/Internal.hs
+++ b/libraries/base/Data/Typeable/Internal.hs
@@ -50,6 +50,7 @@ module Data.Typeable.Internal (
import GHC.Base
import GHC.Word
import GHC.Show
+import GHC.Read ( Read )
import Data.Maybe
import Data.Proxy
import GHC.Num
@@ -57,13 +58,20 @@ import GHC.Real
-- import GHC.IORef
-- import GHC.IOArray
-- import GHC.MVar
-import GHC.ST ( ST )
+import GHC.ST ( ST, STret )
import GHC.STRef ( STRef )
import GHC.Ptr ( Ptr, FunPtr )
-- import GHC.Stable
-import GHC.Arr ( Array, STArray )
+import GHC.Arr ( Array, STArray, Ix )
import Data.Type.Coercion
import Data.Type.Equality
+import Text.ParserCombinators.ReadP ( ReadP )
+import Text.Read.Lex ( Lexeme, Number )
+import Text.ParserCombinators.ReadPrec ( ReadPrec )
+import GHC.Float ( FFFormat, RealFloat, Floating )
+import Data.Bits ( Bits, FiniteBits )
+import GHC.Enum ( Bounded, Enum )
+import Control.Monad ( MonadPlus )
-- import Data.Int
import GHC.Fingerprint.Type
@@ -316,6 +324,7 @@ deriving instance Typeable IO
deriving instance Typeable Array
deriving instance Typeable ST
+deriving instance Typeable STret
deriving instance Typeable STRef
deriving instance Typeable STArray
@@ -351,8 +360,54 @@ deriving instance Typeable Word64
deriving instance Typeable TyCon
deriving instance Typeable TypeRep
+deriving instance Typeable Fingerprint
deriving instance Typeable RealWorld
deriving instance Typeable Proxy
+deriving instance Typeable KProxy
deriving instance Typeable (:~:)
deriving instance Typeable Coercion
+
+deriving instance Typeable ReadP
+deriving instance Typeable Lexeme
+deriving instance Typeable Number
+deriving instance Typeable ReadPrec
+
+deriving instance Typeable FFFormat
+
+-------------------------------------------------------
+--
+-- Generate Typeable instances for standard classes
+--
+-------------------------------------------------------
+
+deriving instance Typeable (~)
+deriving instance Typeable Coercible
+deriving instance Typeable TestEquality
+deriving instance Typeable TestCoercion
+
+deriving instance Typeable Eq
+deriving instance Typeable Ord
+
+deriving instance Typeable Bits
+deriving instance Typeable FiniteBits
+deriving instance Typeable Num
+deriving instance Typeable Real
+deriving instance Typeable Integral
+deriving instance Typeable Fractional
+deriving instance Typeable RealFrac
+deriving instance Typeable Floating
+deriving instance Typeable RealFloat
+
+deriving instance Typeable Bounded
+deriving instance Typeable Enum
+deriving instance Typeable Ix
+
+deriving instance Typeable Show
+deriving instance Typeable Read
+
+deriving instance Typeable Functor
+deriving instance Typeable Monad
+deriving instance Typeable MonadPlus
+
+deriving instance Typeable Typeable
More information about the ghc-commits
mailing list