hs-functors-0.1.4.0: Functors from products of Haskell and its dual to Haskell

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Morph

Documentation

class MFunctor t where Source #

Methods

mmap :: (forall a. m a -> n a) -> t m a -> t n a Source #

Instances
MFunctor (IdentityT :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mmap :: (forall (a :: k0). m a -> n a) -> IdentityT m a -> IdentityT n a Source #

MFunctor (ReaderT r :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mmap :: (forall (a :: k0). m a -> n a) -> ReaderT r m a -> ReaderT r n a Source #

MFunctor (Sum f :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mmap :: (forall (a :: k0). m a -> n a) -> Sum f m a -> Sum f n a Source #

MFunctor (Product f :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mmap :: (forall (a :: k0). m a -> n a) -> Product f m a -> Product f n a Source #

Functor f => MFunctor (Compose f :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mmap :: (forall (a :: k0). m a -> n a) -> Compose f m a -> Compose f n a Source #

(MFunctor s, MFunctor t) => MFunctor (ComposeT s t :: (k1 -> Type) -> k3 -> Type) Source # 
Instance details

Defined in Control.Monad.Trans.Compose

Methods

mmap :: (forall (a :: k). m a -> n a) -> ComposeT s t m a -> ComposeT s t n a Source #

MFunctor MaybeT Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mmap :: (forall (a :: k). m a -> n a) -> MaybeT m a -> MaybeT n a Source #

MFunctor (WriterT w :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mmap :: (forall (a :: k). m a -> n a) -> WriterT w m a -> WriterT w n a Source #

MFunctor (AccumT c :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mmap :: (forall (a :: k). m a -> n a) -> AccumT c m a -> AccumT c n a Source #

MFunctor (WriterT w :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mmap :: (forall (a :: k). m a -> n a) -> WriterT w m a -> WriterT w n a Source #

MFunctor (StateT s :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mmap :: (forall (a :: k). m a -> n a) -> StateT s m a -> StateT s n a Source #

MFunctor (StateT s :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mmap :: (forall (a :: k). m a -> n a) -> StateT s m a -> StateT s n a Source #

MFunctor (ExceptT e :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mmap :: (forall (a :: k). m a -> n a) -> ExceptT e m a -> ExceptT e n a Source #

class (MonadTrans t, MFunctor t) => MMonad t where Source #

Minimal complete definition

Nothing

Methods

mjoin :: Monad m => t (t m) a -> t m a Source #

mbind :: Monad n => (forall a. m a -> t n a) -> t m a -> t n a Source #

Instances
MMonad MaybeT Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mjoin :: Monad m => MaybeT (MaybeT m) a -> MaybeT m a Source #

mbind :: Monad n => (forall a. m a -> MaybeT n a) -> MaybeT m a -> MaybeT n a Source #

Monoid w => MMonad (WriterT w) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mjoin :: Monad m => WriterT w (WriterT w m) a -> WriterT w m a Source #

mbind :: Monad n => (forall a. m a -> WriterT w n a) -> WriterT w m a -> WriterT w n a Source #

Monoid w => MMonad (WriterT w) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mjoin :: Monad m => WriterT w (WriterT w m) a -> WriterT w m a Source #

mbind :: Monad n => (forall a. m a -> WriterT w n a) -> WriterT w m a -> WriterT w n a Source #

MMonad (IdentityT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mjoin :: Monad m => IdentityT (IdentityT m) a -> IdentityT m a Source #

mbind :: Monad n => (forall a. m a -> IdentityT n a) -> IdentityT m a -> IdentityT n a Source #

MMonad (ExceptT e) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mjoin :: Monad m => ExceptT e (ExceptT e m) a -> ExceptT e m a Source #

mbind :: Monad n => (forall a. m a -> ExceptT e n a) -> ExceptT e m a -> ExceptT e n a Source #

MMonad (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Morph

Methods

mjoin :: Monad m => ReaderT r (ReaderT r m) a -> ReaderT r m a Source #

mbind :: Monad n => (forall a. m a -> ReaderT r n a) -> ReaderT r m a -> ReaderT r n a Source #