monad-state-0.1.1.2: Utility library for monads, particularly those involving state

Control.Monad.Record

Synopsis

Documentation

maybeAbort :: Monad m => r -> Maybe a -> AbortT r m aSource

maybeAbortM :: (MonadTrans t, Monad m, MonadAbort (t m)) => AbortResultType (t m) -> MaybeT m a -> t m aSource

class MLens l a whereSource

Associated Types

type MLensA l a Source

Methods

toLens :: l f a -> f :-> Maybe (MLensA l a)Source

Instances

newtype f :--> a Source

Constructors

MaybeLens 

Fields

unMaybeLens :: f :-> Maybe a
 

Instances

getM :: MonadState m => (StateType m :-> a) -> m aSource

setM :: MonadState m => (StateType m :-> a) -> a -> m ()Source

modM :: MonadState m => (StateType m :-> a) -> (a -> a) -> m ()Source

getMAbort :: (MonadState m, MLens l b) => r -> l (StateType (AbortT r m)) b -> (MLensA l b :-> a) -> AbortT r m aSource

setMAbort :: (MonadState m, MLens l b) => l (StateType m) b -> (MLensA l b :-> a) -> a -> m ()Source

modMAbort :: (MonadState m, MLens l b) => l (StateType m) b -> (MLensA l b :-> a) -> (a -> a) -> m ()Source

askM :: MonadReader m => (EnvType m :-> a) -> m aSource

liftState :: MonadState m => (StateType m :-> s) -> StateT s m a -> m aSource

liftSubState :: (Monad m, MonadTrans t, MonadState (t m)) => (StateType (t m) :-> s) -> StateT s m a -> t m aSource

liftSubMaybeState :: (Monad m, MonadTrans t, MonadState (t m), MLens l a) => l (StateType (t m)) a -> StateT (MLensA l a) m a1 -> MaybeT (t m) a1Source

(<:) :: (f :-> a) -> f -> aSource

(=:) :: (f :-> a) -> a -> f -> fSource

($:) :: (f :-> a) -> (a -> a) -> f -> fSource

(<::) :: MonadState m => (StateType m :-> a) -> m aSource

(=::) :: MonadState m => (StateType m :-> a) -> a -> m ()Source

($::) :: MonadState m => (StateType m :-> a) -> (a -> a) -> m ()Source

(<<:) :: (MonadState m, MLens l b) => r -> l (StateType (AbortT r m)) b -> (MLensA l b :-> a) -> AbortT r m aSource

(<=:) :: (MonadState m, MLens l b) => l (StateType m) b -> (MLensA l b :-> a) -> a -> m ()Source

(<$:) :: (MonadState m, MLens l b) => l (StateType m) b -> (MLensA l b :-> a) -> (a -> a) -> m ()Source

(<<::) :: (MonadState m, MLens l b) => l (StateType (AbortT r m)) b -> (MLensA l b :-> a) -> AbortT () m aSource

(<->) :: (MLens l a, MLens l' a') => l (MLensA l' a') a -> l' f a' -> f :--> MLensA l aSource

(<:<) :: MonadReader m => (EnvType m :-> a) -> m aSource

(>$<) :: MonadState m => (StateType m :-> s) -> StateT s m a -> m aSource

(>$>) :: Monad m => (s :-> s') -> StateT s' m a -> StateT s m aSource

(>$$>) :: (Monad m, MLens l a) => l s a -> StateT (MLensA l a) m a1 -> MaybeT (StateT s m) a1Source