Portability  Rank2Types, TFs 

Stability  provisional 
Maintainer  Edward Kmett <ekmett@gmail.com> 
Safe Haskell  Trustworthy 
 newtype Lift p q a b = Lift {
 runLift :: forall x. p b x > q a x
 decomposeLift :: Procompose (Lift p q) p a b > q a b
Documentation
This represents the left Kan lift of a Profunctor
q
along a Profunctor
p
in a limited version of the 2category of Profunctors where the only object is the category Hask, 1morphisms are profunctors composed and compose with Profunctor composition, and 2morphisms are just natural transformations.
~ (* > * > *) p q => Category (Lift p q) 

(Profunctor p, Profunctor q) => Profunctor (Lift p q)  
Profunctor p => Functor (Lift p q a) 
decomposeLift :: Procompose (Lift p q) p a b > q a bSource
The 2morphism that defines a left Kan lift.
Note: When p
is right adjoint to
then Lift
p (>)decomposeLift
is the counit
of the adjunction.