ghc-6.12.1: The GHC APIContentsIndex
IOEnv
Synopsis
data IOEnv env a
module MonadUtils
failM :: IOEnv env a
failWithM :: String -> IOEnv env a
data IOEnvFailure = IOEnvFailure
getEnv :: IOEnv env env
setEnv :: env' -> IOEnv env' a -> IOEnv env a
updEnv :: (env -> env') -> IOEnv env' a -> IOEnv env a
runIOEnv :: env -> IOEnv env a -> IO a
unsafeInterleaveM :: IOEnv env a -> IOEnv env a
tryM :: IOEnv env r -> IOEnv env (Either IOEnvFailure r)
tryAllM :: IOEnv env r -> IOEnv env (Either SomeException r)
tryMostM :: IOEnv env r -> IOEnv env (Either SomeException r)
fixM :: (a -> IOEnv env a) -> IOEnv env a
data IORef a
newMutVar :: a -> IOEnv env (IORef a)
readMutVar :: IORef a -> IOEnv env a
writeMutVar :: IORef a -> a -> IOEnv env ()
updMutVar :: IORef a -> (a -> a) -> IOEnv env ()
atomicUpdMutVar :: IORef a -> (a -> (a, b)) -> IOEnv env b
atomicUpdMutVar' :: IORef a -> (a -> (a, b)) -> IOEnv env b
Documentation
data IOEnv env a
module MonadUtils
failM :: IOEnv env a
failWithM :: String -> IOEnv env a
data IOEnvFailure
Constructors
IOEnvFailure
getEnv :: IOEnv env env
setEnv :: env' -> IOEnv env' a -> IOEnv env a
Perform a computation with a different environment
updEnv :: (env -> env') -> IOEnv env' a -> IOEnv env a
Perform a computation with an altered environment
runIOEnv :: env -> IOEnv env a -> IO a
unsafeInterleaveM :: IOEnv env a -> IOEnv env a
tryM :: IOEnv env r -> IOEnv env (Either IOEnvFailure r)
tryAllM :: IOEnv env r -> IOEnv env (Either SomeException r)
tryMostM :: IOEnv env r -> IOEnv env (Either SomeException r)
fixM :: (a -> IOEnv env a) -> IOEnv env a
data IORef a
A mutable variable in the IO monad
newMutVar :: a -> IOEnv env (IORef a)
readMutVar :: IORef a -> IOEnv env a
writeMutVar :: IORef a -> a -> IOEnv env ()
updMutVar :: IORef a -> (a -> a) -> IOEnv env ()
atomicUpdMutVar :: IORef a -> (a -> (a, b)) -> IOEnv env b
Atomically update the reference. Does not force the evaluation of the new variable contents. For strict update, use atomicUpdMutVar'.
atomicUpdMutVar' :: IORef a -> (a -> (a, b)) -> IOEnv env b
Strict variant of atomicUpdMutVar.
Produced by Haddock version 2.6.0