state-plus-0.1: MonadPlus for StateT

Stabilityexperimental
Maintainerboriss@gmail.com
Safe HaskellNone

Control.Monad.Trans.State.Plus

Contents

Description

MonadPlus with left catch (MonadOr) for StateT.

Synopsis

The StatePlusT monad transformer

data StatePlusT s m a Source

StatePlusT behaves similar to StateT monad transformer

Instances

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.