class
class (Contravariant f, Representable g) => Adjunction (f :: Type -> Type) (g :: Type -> Type) | f -> g, g -> f whereAn adjunction from Hask^op to Hask
Op (f a) b ~ Hask a (g b)rightAdjunct unit = id
leftAdjunct counit = id
Any adjunction from Hask to Hask^op would indirectly
permit unsafePerformIO, and therefore does not exist.
Methods
unit :: a -> g (f a)counit :: a -> f (g a)leftAdjunct :: (b -> f a) -> a -> g brightAdjunct :: (a -> g b) -> b -> f a
Instances2Adjunction
Adjunction Predicate PredicateDefined in adjunctions-4.4.3 · Data.Functor.Contravariant.AdjunctionThis gives rise to the
Cont BoolMonadAdjunction (Op r) (Op r)Defined in adjunctions-4.4.3 · Data.Functor.Contravariant.AdjunctionThis Adjunction gives rise to the
ContMonad