projects
/
ghc-base.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2005-01-05 21:30:05 by krasimir]
[ghc-base.git]
/
Data
/
Typeable.hs
diff --git
a/Data/Typeable.hs
b/Data/Typeable.hs
index
69ed9a0
..
7f0e974
100644
(file)
--- a/
Data/Typeable.hs
+++ b/
Data/Typeable.hs
@@
-9,12
+9,12
@@
-- Stability : experimental
-- Portability : portable
--
-- Stability : experimental
-- Portability : portable
--
--- The Typeable class reifies types to some extent by associating type
+-- The 'Typeable' class reifies types to some extent by associating type
-- representations to types. These type representations can be compared,
-- and one can in turn define a type-safe cast operation. To this end,
-- an unsafe cast is guarded by a test for type (representation)
-- representations to types. These type representations can be compared,
-- and one can in turn define a type-safe cast operation. To this end,
-- an unsafe cast is guarded by a test for type (representation)
--- equivalence. The module Data.Dynamic uses Typeable for an
--- implementation of dynamics. The module Data.Generics uses Typeable
+-- equivalence. The module "Data.Dynamic" uses Typeable for an
+-- implementation of dynamics. The module "Data.Generics" uses Typeable
-- and type-safe cast (but not dynamics) to support the \"Scrap your
-- boilerplate\" style of generic programming.
--
-- and type-safe cast (but not dynamics) to support the \"Scrap your
-- boilerplate\" style of generic programming.
--
@@
-96,6
+96,7
@@
import GHC.Num
import GHC.Float
import GHC.Real( rem, Ratio )
import GHC.IOBase
import GHC.Float
import GHC.Real( rem, Ratio )
import GHC.IOBase
+import GHC.ST -- So we can give Typeable instance for ST
import GHC.Ptr -- So we can give Typeable instance for Ptr
import GHC.Stable -- So we can give Typeable instance for StablePtr
#endif
import GHC.Ptr -- So we can give Typeable instance for Ptr
import GHC.Stable -- So we can give Typeable instance for StablePtr
#endif
@@
-463,6
+464,9
@@
INSTANCE_TYPEABLE1(Ratio,ratioTc,"Ratio")
INSTANCE_TYPEABLE2(Either,eitherTc,"Either")
INSTANCE_TYPEABLE2((->),funTc,"->")
INSTANCE_TYPEABLE1(IO,ioTc,"IO")
INSTANCE_TYPEABLE2(Either,eitherTc,"Either")
INSTANCE_TYPEABLE2((->),funTc,"->")
INSTANCE_TYPEABLE1(IO,ioTc,"IO")
+#ifdef __GLASGOW_HASKELL__
+INSTANCE_TYPEABLE2(ST,stTc,"ST")
+#endif
INSTANCE_TYPEABLE0((),unitTc,"()")
#ifndef __NHC__
INSTANCE_TYPEABLE2((,),pairTc,",")
INSTANCE_TYPEABLE0((),unitTc,"()")
#ifndef __NHC__
INSTANCE_TYPEABLE2((,),pairTc,",")
@@
-487,7
+491,7
@@
instance Typeable6 (,,,,,) where
typeOf6 tu = mkTyConApp tup6Tc []
tup7Tc :: TyCon
typeOf6 tu = mkTyConApp tup6Tc []
tup7Tc :: TyCon
-tup7Tc = mkTyCon ",,,,,"
+tup7Tc = mkTyCon ",,,,,,"
instance Typeable7 (,,,,,,) where
typeOf7 tu = mkTyConApp tup7Tc []
instance Typeable7 (,,,,,,) where
typeOf7 tu = mkTyConApp tup7Tc []
@@
-526,7
+530,9
@@
INSTANCE_TYPEABLE0(TyCon,tyconTc,"TyCon")
INSTANCE_TYPEABLE0(TypeRep,typeRepTc,"TypeRep")
#ifdef __GLASGOW_HASKELL__
INSTANCE_TYPEABLE0(TypeRep,typeRepTc,"TypeRep")
#ifdef __GLASGOW_HASKELL__
+INSTANCE_TYPEABLE0(RealWorld,realWorldTc,"RealWorld")
INSTANCE_TYPEABLE0(Word,wordTc,"Word" )
INSTANCE_TYPEABLE0(Word,wordTc,"Word" )
+INSTANCE_TYPEABLE1(MVar,mvarTc,"MVar" )
#endif
---------------------------------------------
#endif
---------------------------------------------