#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))
import Hugs.Prelude
import Hugs.IO
import Hugs.IORef
-import Hugs.ST
import Hugs.IOExts
#endif
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,",")