| |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
| Synopsis | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
| Documentation | |||||||||||||||||||||||||||||||||||||||||
| data IOEnv env a | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
| module MonadUtils | |||||||||||||||||||||||||||||||||||||||||
| failM :: IOEnv env a | |||||||||||||||||||||||||||||||||||||||||
| failWithM :: String -> IOEnv env a | |||||||||||||||||||||||||||||||||||||||||
| data 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 | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
| 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.7.2 |