-- 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.2 -- | 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 Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Control.Monad.Trans.State.Plus.StatePlusT s m) instance Control.Monad.Trans.Class.MonadTrans (Control.Monad.Trans.State.Plus.StatePlusT s) instance GHC.Base.Functor m => GHC.Base.Functor (Control.Monad.Trans.State.Plus.StatePlusT s m) instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.Trans.State.Plus.StatePlusT s m) instance (GHC.Base.Monad m, GHC.Base.Functor m) => GHC.Base.Applicative (Control.Monad.Trans.State.Plus.StatePlusT s m) instance GHC.Base.Monad m => Control.Monad.State.Class.MonadState s (Control.Monad.Trans.State.Plus.StatePlusT s m) instance GHC.Base.Monad m => GHC.Base.MonadPlus (Control.Monad.Trans.State.Plus.StatePlusT s m) instance (GHC.Base.Monad m, GHC.Base.Functor m) => GHC.Base.Alternative (Control.Monad.Trans.State.Plus.StatePlusT s m)