Add unsafeSTToIO :: ST s a -> IO a
[ghc-base.git] / GHC / IOBase.lhs
index 112268e..78a334d 100644 (file)
@@ -20,7 +20,7 @@ module GHC.IOBase(
     unsafePerformIO, unsafeInterleaveIO,
   
        -- To and from from ST
-    stToIO, ioToST, unsafeIOToST,
+    stToIO, ioToST, unsafeIOToST, unsafeSTToIO,
 
        -- References
     IORef(..), newIORef, readIORef, writeIORef, 
@@ -155,6 +155,9 @@ ioToST (IO m) = (ST m)
 unsafeIOToST        :: IO a -> ST s a
 unsafeIOToST (IO io) = ST $ \ s -> (unsafeCoerce# io) s
 
+unsafeSTToIO :: ST s a -> IO a
+unsafeSTToIO (ST m) = IO (unsafeCoerce# m)
+
 -- ---------------------------------------------------------------------------
 -- Unsafe IO operations