ST +Control.Monad +transformers

module Control.Monad.Trans.RWS.Strict
transformers Control.Monad.Trans.RWS.Strict
A monad transformer that combines ReaderT, WriterT and StateT. This version is strict; for a lazy version, see Control.Monad.Trans.RWS.Lazy, which has the same interface.
module Control.Monad.Trans.State
transformers Control.Monad.Trans.State
State monads, passing an updatable state through a computation. Some computations may not require the full power of state transformers: * For a read-only state, see Control.Monad.Trans.Reader. * To accumulate a value without using it on the way, see Control.Monad.Trans.Writer. This version is lazy; for a strict version, see Control.Monad.Trans.State.Strict, which has the same interface.
module Control.Monad.Trans.State.Strict
transformers Control.Monad.Trans.State.Strict
Strict state monads, passing an updatable state through a computation. See below for examples. In this version, sequencing of computations is strict. For a lazy version, see Control.Monad.Trans.State.Lazy, which has the same interface. Some computations may not require the full power of state transformers: * For a read-only state, see Control.Monad.Trans.Reader. * To accumulate a value without using it on the way, see Control.Monad.Trans.Writer.
module Control.Monad.Trans.Writer.Strict
transformers Control.Monad.Trans.Writer.Strict
The strict WriterT monad transformer, which adds collection of outputs (such as a count or string output) to a given monad. This version builds its output strictly; for a lazy version, see Control.Monad.Trans.Writer.Lazy, which has the same interface. This monad transformer provides only limited access to the output during the computation. For more general access, use Control.Monad.Trans.State instead.
type State s = StateT s Identity
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict
A state monad parameterized by the type s of the state to carry. The return function leaves the state unchanged, while >>= uses the final state of the first computation as the initial state of the second.
state :: (Monoid w, Monad m) => (s -> (a, s)) -> RWST r w s m a
transformers Control.Monad.Trans.RWS.Lazy, transformers Control.Monad.Trans.RWS.Strict
Construct a state monad computation from a state transformer function.
state :: Monad m => (s -> (a, s)) -> StateT s m a
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict
Construct a state monad computation from a function. (The inverse of runState.)
StateT :: (s -> m (a, s)) -> StateT s m a
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict
newtype StateT s m a
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict
A state transformer monad parameterized by: * s - The state. * m - The inner monad. The return function leaves the state unchanged, while >>= uses the final state of the first computation as the initial state of the second.
strMsg :: Error a => String -> a
transformers Control.Monad.Trans.Error
module Control.Monad.Trans.List
transformers Control.Monad.Trans.List
The ListT monad transformer, adding backtracking to a given monad, which must be commutative.
class ErrorList a
transformers Control.Monad.Trans.Error
Workaround so that we can have a Haskell 98 instance Error String.
evalRWST :: Monad m => RWST r w s m a -> r -> s -> m (a, w)
transformers Control.Monad.Trans.RWS.Lazy, transformers Control.Monad.Trans.RWS.Strict
Evaluate a computation with the given initial state and environment, returning the final value and output, discarding the final state.
evalState :: State s a -> s -> a
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict
Evaluate a state computation with the given initial state and return the final value, discarding the final state. *  m s = fst (runState m >  
evalStateT :: Monad m => StateT s m a -> s -> m a
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict
Evaluate a state computation with the given initial state and return the final value, discarding the final state. *  m s = liftM fst > (runStateT m  
execRWST :: Monad m => RWST r w s m a -> r -> s -> m (s, w)
transformers Control.Monad.Trans.RWS.Lazy, transformers Control.Monad.Trans.RWS.Strict
Evaluate a computation with the given initial state and environment, returning the final state and output, discarding the final value.
execState :: State s a -> s -> s
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict
Evaluate a state computation with the given initial state and return the final state, discarding the final value. *  m s = snd (runState m >  
execStateT :: Monad m => StateT s m a -> s -> m s
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict
Evaluate a state computation with the given initial state and return the final state, discarding the final value. *  m s = liftM snd > (runStateT m  
liftListen :: Monad m => (m (Either e a) -> m (Either e a, w)) -> ErrorT e m a -> ErrorT e m (a, w)
transformers Control.Monad.Trans.Error
Lift a listen operation to the new monad.
liftListen :: Monad m => (m (Maybe a) -> m (Maybe a, w)) -> MaybeT m a -> MaybeT m (a, w)
transformers Control.Monad.Trans.Maybe
Lift a listen operation to the new monad.

Show more results