category-extras-0.53.6: Various modules and constructs inspired by category theoryContentsIndex
Control.Functor.Adjunction
Portabilitynon-portable (functional-dependencies)
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Contents
Every Right Adjoint is Representable
Description
Synopsis
class (Representable g (f ()), Functor f) => 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)
repAdjunction :: Adjunction f g => (f () -> a) -> g a
unrepAdjunction :: Adjunction f g => g a -> (f () -> a)
Documentation
class (Representable g (f ()), Functor f) => Adjunction f g | f -> g, g -> f where
An Adjunction formed by the Functor f and Functor g.
Methods
unit :: a -> g (f a)
counit :: f (g a) -> a
leftAdjunct :: (f a -> b) -> a -> g b
rightAdjunct :: (a -> g b) -> f a -> b
show/hide Instances
Adjunction (Coreader e) (Reader e)
(Adjunction f1 g1, Adjunction f2 g2) => Adjunction (CompF f2 f1) (CompF g1 g2)
newtype ACompF f g a
Adjunction-oriented composition, yields monads and comonads from adjunctions
Constructors
ACompF (CompF f g a)
show/hide Instances
Composition ACompF
ComonadContext e (ACompF ((,) e) ((->) e))
MonadState e (ACompF ((->) e) ((,) e))
Functor f => HFunctor (ACompF f)
Adjunction f g => Monad (ACompF g f)
(Functor f, Functor g) => Functor (ACompF f g)
(Full f, Full g) => Full (ACompF f g)
(ExpFunctor f, ExpFunctor g) => ExpFunctor (ACompF f g)
Adjunction f g => Pointed (ACompF g f)
Adjunction f g => Copointed (ACompF f g)
Adjunction f g => Comonad (ACompF f g)
Adjunction f g => Applicative (ACompF g f)
Every Right Adjoint is Representable
repAdjunction :: Adjunction f g => (f () -> a) -> g a
unrepAdjunction :: Adjunction f g => g a -> (f () -> a)
Produced by Haddock version 2.1.0