morphisms-functors-0.1.2: Functors, theirs compositions and transformations

Safe HaskellSafe
LanguageHaskell2010

Control.Functor.Composition.Adjoint

Synopsis

Documentation

class (Covariant t, Covariant u) => Adjoint t u | t -> u, u -> t where Source #

When providing a new instance, you should ensure it satisfies the four laws:
* Left adjunction identity: phi counit ≡ identity
* Right adjunction identity: psi unit ≡ identity
* Left adjunction interchange: phi f ≡ comap f . eta
* Right adjunction interchange: psi f ≡ epsilon . comap f

Minimal complete definition

phi, psi

Methods

phi :: (t a -> b) -> a -> u b Source #

Left adjunction

psi :: (a -> u b) -> t a -> b Source #

Right adjunction

eta :: a -> (u :.: t) a Source #

epsilon :: (t :.: u) a -> a Source #