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 2-category of Profunctors where the only object is the category Hask, 1-morphisms are profunctors composed and compose with Profunctor composition, and 2-morphisms 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 2-morphism that defines a left Kan lift.
Note: When p
is right adjoint to
then Lift
p (->)decomposeLift
is the counit
of the adjunction.