| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Control.Monad.ST.Unsafe.Compat
Contents
Synopsis
- unsafeInterleaveST :: ST s a -> ST s a
- unsafeIOToST :: IO a -> ST s a
- unsafeSTToIO :: ST s a -> IO a
Unsafe operations
unsafeInterleaveST :: ST s a -> ST s a #
unsafeInterleaveST allows an ST computation to be deferred
lazily. When passed a value of type ST a, the ST computation will
only be performed when the value of the a is demanded.
unsafeIOToST :: IO a -> ST s a #
unsafeSTToIO :: ST s a -> IO a #
Convert an ST action to an IO action.
This relies on IO and ST having the same representation modulo the
constraint on the type of the state.
For an example demonstrating why this is unsafe, see https://mail.haskell.org/pipermail/haskell-cafe/2009-April/060719.html