Monatron-0.3.1: Monad transformer library with uniform liftings

Control.Monatron.AutoLift

Documentation

class Monad m => StateM z m | m -> z whereSource

Instances

(StateM z m, MonadT t) => StateM z (t m) 
Monad m => StateM z (StateT z m) 
(Monad m, MonadT t1, MonadT t2, StateM z (t2 m)) => StateM z (:> t1 t2 m) 

get :: StateM z m => m zSource

put :: StateM z m => z -> m ()Source

class (Monoid z, Monad m) => WriterM z m | m -> z whereSource

Instances

(Monoid z, WriterM z m, MonadT t) => WriterM z (t m) 
(Monoid z, Monad m) => WriterM z (WriterT z m) 
(WriterM z (t2 m), MonadT t1, Monad m, MonadT t2) => WriterM z (:> t1 t2 m) 

tell :: (Monoid z, WriterM z m) => z -> m ()Source

class Monad m => ReaderM z m | m -> z whereSource

Instances

(ReaderM z m, Functor m, FMonadT t) => ReaderM z (t m) 
Monad m => ReaderM z (ReaderT z m) 
(ReaderM z (t2 m), FMonadT t1, FMonadT t2, Functor (t2 m), Monad m) => ReaderM z (:> t1 t2 m) 

ask :: ReaderM z m => m zSource

local :: ReaderM z m => (z -> z) -> m a -> m aSource

class Monad m => ExcM z m | m -> z whereSource

Instances

ExcM SomeException IO 
(ExcM z m, Functor m, FMonadT t) => ExcM z (t m) 
Monad m => ExcM z (ExcT z m) 
(ExcM z (t2 m), FMonadT t1, FMonadT t2, Functor (t2 m), Monad m) => ExcM z (:> t1 t2 m) 

throw :: ExcM z m => z -> m aSource

handle :: ExcM z m => m a -> (z -> m a) -> m aSource

class Monad m => ContM r m | m -> r whereSource

Instances

(ContM r m, MonadT t) => ContM r (t m) 
(ContM r (t2 m), FMonadT t1, FMonadT t2, Functor (t2 m), Monad m) => ContM r (:> t1 t2 m) 
Monad m => ContM (m r) (ContT r m) 

callCC :: ContM r m => ((a -> r) -> a) -> m aSource

class Monad m => ListM m whereSource

Instances

(ListM m, MonadT t) => ListM (t m) 
Monad m => ListM (ListT m) 
(ListM (t2 m), FMonadT t1, FMonadT t2, Functor (t2 m), Monad m) => ListM (:> t1 t2 m) 

mZero :: ListM m => m aSource

mPlus :: ListM m => m a -> m a -> m aSource