category-extras-0.52.0: Various modules and constructs inspired by category theorySource codeContentsIndex
Control.Functor.Adjunction
Portabilitynon-portable (functional-dependencies)
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Description
Synopsis
class (Functor f, Functor g) => Adjunction f g | f -> g, g -> f where
unit :: a -> g (f a)
counit :: f (g a) -> a
leftAdjunct :: (f a -> b) -> a -> g b
rightAdjunct :: (a -> g b) -> f a -> b
newtype ACompF f g a = ACompF (CompF f g a)
Documentation
class (Functor f, Functor g) => Adjunction f g | f -> g, g -> f whereSource
An Adjunction formed by the Functor f and Functor g.
Methods
unit :: a -> g (f a)Source
counit :: f (g a) -> aSource
leftAdjunct :: (f a -> b) -> a -> g bSource
rightAdjunct :: (a -> g b) -> f a -> bSource
show/hide Instances
Adjunction Identity Identity
Adjunction ((,) e) ((->) e)
Adjunction ((,) e) ((->) e)
Adjunction (Coreader e) (Reader e)
Adjunction (Coreader e) (Reader e)
(Adjunction f1 g1, Adjunction f2 g2) => Adjunction (CompF f2 f1) (CompF g1 g2)
newtype ACompF f g a Source
Adjunction-oriented composition, yields monads and comonads from adjunctions
Constructors
ACompF (CompF f g a)
show/hide Instances
Composition ACompF
MonadState e (ACompF ((->) e) ((,) e))
ComonadContext e (ACompF ((,) e) ((->) e))
Functor f => HFunctor (ACompF f)
Adjunction f g => Monad (ACompF g f)
(Functor f, Functor g) => Functor (ACompF f g)
Adjunction f g => Applicative (ACompF g f)
(Full f, Full g) => Full (ACompF f g)
(ExpFunctor f, ExpFunctor g) => ExpFunctor (ACompF f g)
Adjunction f g => Copointed (ACompF f g)
Adjunction f g => Pointed (ACompF g f)
Adjunction f g => Comonad (ACompF f g)
Produced by Haddock version 2.3.0