Haskell Core Libraries (base package)ParentContentsIndex
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