state-plus-0.1.2: MonadPlus for StateT

Copyright(c) Boris Sukholitko 2012
LicenseBSD3
Maintainerboriss@gmail.com
Stabilityexperimental
Safe HaskellNone
LanguageHaskell98

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

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 s Source

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.