[project @ 2004-12-21 14:00:12 by simonpj]
authorsimonpj <unknown>
Tue, 21 Dec 2004 14:00:12 +0000 (14:00 +0000)
committersimonpj <unknown>
Tue, 21 Dec 2004 14:00:12 +0000 (14:00 +0000)
Add an instance for Typeable RealWorld; and move the Typeable ST instance to Data.Typeable

Control/Monad/ST.hs
Data/Typeable.hs

index be57243..ec4cc7e 100644 (file)
@@ -33,7 +33,6 @@ module Control.Monad.ST
 import Prelude
 
 import Control.Monad.Fix
-import Data.Typeable
 
 #include "Typeable.h"
 
@@ -58,7 +57,3 @@ import GHC.IOBase     ( stToIO, unsafeIOToST )
 instance MonadFix (ST s) where
        mfix = fixST
 
--- ---------------------------------------------------------------------------
--- Typeable instance
-
-INSTANCE_TYPEABLE2(ST,sTTc,"ST")
index d7fd008..e563129 100644 (file)
@@ -96,6 +96,7 @@ import GHC.Num
 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
@@ -104,6 +105,7 @@ import GHC.Stable       -- So we can give Typeable instance for StablePtr
 import Hugs.Prelude
 import Hugs.IO
 import Hugs.IORef
+import Hugs.ST
 import Hugs.IOExts
 #endif
 
@@ -463,6 +465,7 @@ INSTANCE_TYPEABLE1(Ratio,ratioTc,"Ratio")
 INSTANCE_TYPEABLE2(Either,eitherTc,"Either")
 INSTANCE_TYPEABLE2((->),funTc,"->")
 INSTANCE_TYPEABLE1(IO,ioTc,"IO")
+INSTANCE_TYPEABLE2(ST,stTc,"ST")
 INSTANCE_TYPEABLE0((),unitTc,"()")
 #ifndef __NHC__
 INSTANCE_TYPEABLE2((,),pairTc,",")
@@ -526,6 +529,7 @@ INSTANCE_TYPEABLE0(TyCon,tyconTc,"TyCon")
 INSTANCE_TYPEABLE0(TypeRep,typeRepTc,"TypeRep")
 
 #ifdef __GLASGOW_HASKELL__
+INSTANCE_TYPEABLE0(RealWorld,realWorldTc,"RealWorld")
 INSTANCE_TYPEABLE0(Word,wordTc,"Word" )
 INSTANCE_TYPEABLE1(MVar,mvarTc,"MVar" )
 #endif