Monatron-0.3.1: Monad transformer library with uniform liftings

Control.Monatron.Transformer

Documentation

data StateT s m a Source

Instances

Monad m => StateM z (StateT z m) 
MMonadT (StateT s) 
FMonadT (StateT s) 
MonadT (StateT s) 
MonadFix m => MonadFix (StateT s m) 

stateT :: (s -> m (a, s)) -> StateT s m aSource

runStateT :: s -> StateT s m a -> m (a, s)Source

data WriterT w m a Source

Instances

(Monoid z, Monad m) => WriterM z (WriterT z m) 
Monoid w => MMonadT (WriterT w) 
Monoid w => FMonadT (WriterT w) 
Monoid w => MonadT (WriterT w) 

writerT :: (Monoid w, Monad m) => m (a, w) -> WriterT w m aSource

runWriterT :: Monoid w => WriterT w m a -> m (a, w)Source

data ReaderT s m a Source

Instances

readerT :: Monad m => (e -> m a) -> ReaderT e m aSource

runReaderT :: s -> ReaderT s m a -> m aSource

data ExcT x m a Source

Instances

Monad m => ExcM z (ExcT z m) 
FMonadT (ExcT x) 
MonadT (ExcT x) 
MonadFix m => MonadFix (ExcT x m) 

excT :: Monad m => m (Either x a) -> ExcT x m aSource

runExcT :: Monad m => ExcT x m a -> m (Either x a)Source

data ContT r m a Source

Instances

MonadT (ContT r) 
Monad m => ContM (m r) (ContT r m) 

contT :: ((a -> m r) -> m r) -> ContT r m aSource

runContT :: (a -> m r) -> ContT r m a -> m rSource

data StepT f m x Source

Instances

Functor f => FMonadT (StepT f) 
Functor f => MonadT (StepT f) 

stepT :: m (Either x (f (StepT f m x))) -> StepT f m xSource

runStepT :: StepT f m x -> m (Either x (f (StepT f m x)))Source

caseStepT :: (Functor f, Monad m) => (a -> StepT f m x) -> (f (StepT f m a) -> StepT f m x) -> StepT f m a -> StepT f m xSource

unfoldStepT :: (Functor f, Monad m) => (y -> m (Either x (f y))) -> y -> StepT f m xSource

data ListT m a Source

Instances

listT :: m (LSig (ListT m) a ()) -> ListT m aSource

runListT :: ListT m a -> m (LSig (ListT m) a ())Source

foldListT :: Monad m => (a -> m b -> m b) -> m b -> ListT m a -> m bSource

collectListT :: Monad m => ListT m a -> m [a]Source

appendL :: Monad m => ListT m a -> ListT m a -> ListT m aSource