Copyright | (C) 2011-2013 Edward Kmett |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | provisional |
Portability | MPTCs, fundeps |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Documentation
runAdjoint :: Functor g => Adjoint f g a -> g (f a) Source #
newtype AdjointT (f :: Type -> Type) (g :: Type -> Type) (m :: Type -> Type) a Source #
AdjointT | |
|
Instances
(Adjunction f g, Traversable f) => MonadTrans (AdjointT f g) Source # | Exploiting this instance requires that we have the missing Traversables for Identity, (,)e and IdentityT |
Defined in Control.Monad.Trans.Adjoint | |
(Adjunction f g, Monad m) => Applicative (AdjointT f g m) Source # | |
Defined in Control.Monad.Trans.Adjoint pure :: a -> AdjointT f g m a # (<*>) :: AdjointT f g m (a -> b) -> AdjointT f g m a -> AdjointT f g m b # liftA2 :: (a -> b -> c) -> AdjointT f g m a -> AdjointT f g m b -> AdjointT f g m c # (*>) :: AdjointT f g m a -> AdjointT f g m b -> AdjointT f g m b # (<*) :: AdjointT f g m a -> AdjointT f g m b -> AdjointT f g m a # | |
(Adjunction f g, Monad m) => Functor (AdjointT f g m) Source # | |
(Adjunction f g, Monad m) => Monad (AdjointT f g m) Source # | |