Control.Monad.ST

| Haskell Core Libraries (base package) | Parent | Contents | Index
Control.Monad.ST |
Portability | non-portable (requires universal quantification for runST)
Stability | experimental
Maintainer | libraries@haskell.org
Contents
The `ST` Monad Unsafe operations Converting `ST` to `IO`
Description
This library provides support for strict state threads, as described in the PLDI '94 paper by John Launchbury and Simon Peyton Jones Lazy State Threads.
Synopsis
data ST s a
runST :: (forall s . ST s a) -> a
fixST :: (a -> ST s a) -> ST s a
unsafeInterleaveST :: ST s a -> ST s a
unsafeIOToST :: IO a -> ST s a
stToIO :: ST RealWorld a -> IO a
The `ST` Monad
data ST s a
Instances
MonadFix (ST s)
(Typeable a, Typeable b) => Typeable (ST a b)
MArray (STArray s) e (ST s)
MArray (STUArray s) Bool (ST s)
MArray (STUArray s) Char (ST s)
MArray (STUArray s) Int (ST s)
MArray (STUArray s) Word (ST s)
MArray (STUArray s) (Ptr a) (ST s)
MArray (STUArray s) (FunPtr a) (ST s)
MArray (STUArray s) Float (ST s)
MArray (STUArray s) Double (ST s)
MArray (STUArray s) (StablePtr a) (ST s)
MArray (STUArray s) Int8 (ST s)
MArray (STUArray s) Int16 (ST s)
MArray (STUArray s) Int32 (ST s)
MArray (STUArray s) Int64 (ST s)
MArray (STUArray s) Word8 (ST s)
MArray (STUArray s) Word16 (ST s)
MArray (STUArray s) Word32 (ST s)
MArray (STUArray s) Word64 (ST s)
Functor (ST s)
Monad (ST s)
Show (ST s a)
runST :: (forall s . ST s a) -> a
fixST :: (a -> ST s a) -> ST s a
Unsafe operations
unsafeInterleaveST :: ST s a -> ST s a
unsafeIOToST :: IO a -> ST s a
Converting `ST` to `IO`
stToIO :: ST RealWorld a -> IO a
Produced by Haddock version 0.3