-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | MonadPlus for StateT -- -- Implements MonadPlus with left catch (MonadOr) for StateT. @package state-plus @version 0.1 -- | MonadPlus with left catch (MonadOr) for StateT. module Control.Monad.Trans.State.Plus -- | StatePlusT behaves similar to StateT monad transformer data StatePlusT s m a -- | Evaluate StatePlusT monad. In difference from runStateT it returns -- Nothing if mzero has been encountered. Just -- a otherwise. runStatePlusT :: Monad m => StatePlusT s m a -> s -> m (Maybe a, s) -- | Execute StatePlusT monad returning resulting state execStatePlusT :: Monad m => StatePlusT s m a -> s -> m s -- | Evaluate StatePlusT monad returning resulting value. See above for the -- semantics. evalStatePlusT :: Monad m => StatePlusT s m a -> s -> m (Maybe a) instance Functor m => Functor (StatePlusT s m) instance MonadTrans (StatePlusT s) instance MonadIO m => MonadIO (StatePlusT s m) instance Monad m => MonadPlus (StatePlusT s m) instance Monad m => MonadState s (StatePlusT s m) instance Monad m => Monad (StatePlusT s m)