X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Control%2FMonad%2FST.hs;h=0e3485725e40d34c4a1f141a7ee0686d535d3c27;hb=3e23aaae1a1f07fd28f1092d0f79e13d66b72f09;hp=be57243698f45450dd0fd1f87145173a8d4ca1c1;hpb=19de173b1bd4fa8cf1854cfefa619565910137f3;p=ghc-base.git diff --git a/Control/Monad/ST.hs b/Control/Monad/ST.hs index be57243..0e34857 100644 --- a/Control/Monad/ST.hs +++ b/Control/Monad/ST.hs @@ -33,14 +33,17 @@ module Control.Monad.ST import Prelude import Control.Monad.Fix -import Data.Typeable #include "Typeable.h" #ifdef __HUGS__ +import Data.Typeable import Hugs.ST import qualified Hugs.LazyST as LazyST +INSTANCE_TYPEABLE2(ST,sTTc,"ST") +INSTANCE_TYPEABLE0(RealWorld,realWorldTc,"RealWorld") + fixST :: (a -> ST s a) -> ST s a fixST f = LazyST.lazyToStrictST (LazyST.fixST (LazyST.strictToLazyST . f)) @@ -58,7 +61,3 @@ import GHC.IOBase ( stToIO, unsafeIOToST ) instance MonadFix (ST s) where mfix = fixST --- --------------------------------------------------------------------------- --- Typeable instance - -INSTANCE_TYPEABLE2(ST,sTTc,"ST")