| Stability | experimental |
|---|---|
| Maintainer | boriss@gmail.com |
| Safe Haskell | None |
Control.Monad.Trans.State.Plus
Contents
Description
MonadPlus with left catch (MonadOr) for StateT.
- data StatePlusT s m a
- runStatePlusT :: Monad m => StatePlusT s m a -> s -> m (Maybe a, s)
- execStatePlusT :: Monad m => StatePlusT s m a -> s -> m s
- evalStatePlusT :: Monad m => StatePlusT s m a -> s -> m (Maybe a)
The StatePlusT monad transformer
data StatePlusT s m a Source
StatePlusT behaves similar to StateT monad transformer
Instances
| Monad m => MonadState s (StatePlusT s m) | |
| MonadTrans (StatePlusT s) | |
| Monad m => Monad (StatePlusT s m) | |
| Functor m => Functor (StatePlusT s m) | |
| Monad m => MonadPlus (StatePlusT s m) | |
| MonadIO m => MonadIO (StatePlusT s m) |
runStatePlusT :: Monad m => StatePlusT s m a -> s -> m (Maybe a, s)Source
Evaluate StatePlusT monad. In difference from runStateT it returns
Nothing if mzero has been encountered. Just a otherwise.
execStatePlusT :: Monad m => StatePlusT s m a -> s -> m sSource
Execute StatePlusT monad returning resulting state
evalStatePlusT :: Monad m => StatePlusT s m a -> s -> m (Maybe a)Source
Evaluate StatePlusT monad returning resulting value. See above for the semantics.