Monatron-0.3.1: Monad transformer library with uniform liftings

Control.Monatron.MonadT

Documentation

class MonadT t whereSource

Methods

lift :: Monad m => m a -> t m aSource

treturn :: Monad m => a -> t m aSource

tbind :: Monad m => t m a -> (a -> t m b) -> t m bSource

Instances

class MonadT t => FMonadT t whereSource

Methods

tmap' :: FunctorD m -> FunctorD n -> (a -> b) -> (forall x. m x -> n x) -> t m a -> t n bSource

Instances

class FMonadT t => MMonadT t whereSource

Methods

flift :: Functor f => f a -> t f aSource

monoidalT :: (Functor f, Functor g) => t f (t g a) -> t (FComp f g) aSource

Instances

newtype FComp f g a Source

Constructors

Comp 

Fields

deComp :: f (g a)
 

Instances

(Functor f, Functor g) => Functor (FComp f g) 

newtype FunctorD f Source

Constructors

FunctorD 

Fields

fmapD :: forall a b. (a -> b) -> f a -> f b
 

tmap :: (FMonadT t, Functor m, Functor n) => (forall b. m b -> n b) -> t m a -> t n aSource

mtmap :: FMonadT t => FunctorD f -> (a -> b) -> t f a -> t f bSource