From: simonpj Date: Tue, 21 Dec 2004 14:00:12 +0000 (+0000) Subject: [project @ 2004-12-21 14:00:12 by simonpj] X-Git-Tag: nhc98-1-18-release~151 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=dcc348a1421cc0c5aa6c88eb0d32a1c6dbfa741e;p=haskell-directory.git [project @ 2004-12-21 14:00:12 by simonpj] Add an instance for Typeable RealWorld; and move the Typeable ST instance to Data.Typeable --- diff --git a/Control/Monad/ST.hs b/Control/Monad/ST.hs index be57243..ec4cc7e 100644 --- a/Control/Monad/ST.hs +++ b/Control/Monad/ST.hs @@ -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") diff --git a/Data/Typeable.hs b/Data/Typeable.hs index d7fd008..e563129 100644 --- a/Data/Typeable.hs +++ b/Data/Typeable.hs @@ -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