kan-extensions-3.5: Kan extensions, Kan lifts, various forms of the Yoneda lemma, and (co)density (co)monads

PortabilityGADTs, MPTCs, fundeps
Stabilityprovisional
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellTrustworthy

Data.Functor.Yoneda.Reduction

Description

Yoneda Reduction:

http://ncatlab.org/nlab/show/Yoneda+reduction

Yoneda f is isomorphic to Lan f Identity

Synopsis

Documentation

data Yoneda f a whereSource

A form suitable for Yoneda reduction

Constructors

Yoneda :: (b -> a) -> f b -> Yoneda f a 

liftYoneda :: f a -> Yoneda f aSource

Yoneda expansion

lowerYoneda :: Functor f => Yoneda f a -> f aSource

Yoneda reduction

lowerM :: Monad f => Yoneda f a -> f aSource

Yoneda reduction given a Monad.