-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | See README for more info -- -- See README for more info @package adjunction @version 0.0.0.0 module Data.Functor.Adjoint class (Functor f, Functor g) => Adjoint f g | f -> g, g -> f unit :: Adjoint f g => a -> g (f a) counit :: Adjoint f g => f (g a) -> a leftAdjunct :: Adjoint f g => (f a -> b) -> a -> g b rightAdjunct :: Adjoint f g => (a -> g b) -> f a -> b module Data.Functor.Rep class Cotraversable f => Representable f where { type family Rep f; } tabulate :: Representable f => (Rep f -> a) -> f a index :: Representable f => f a -> Rep f -> a