Idris2Doc : Data.Profunctor.Functor

Data.Profunctor.Functor

(source)
This module defines endofunctors in the category of profunctors `[Idrᵒᵖ * Idr, Idr]`,
along with adjunctions of those functors.
Examples of these functors include `Yoneda`, `Pastro`, `Closure`, etc.

Definitions

interfaceProfunctorFunctor : ((Type->Type->Type) ->k->k'->Type) ->Type
  An endofunctor in the category of profunctors.

Laws:
* `promap id = id`
* `promap g . promap f = promap (g . f)`

Parameters: t
Methods:
promap : Profunctorp=>p:->q->tp:->tq
  Lift a transformation between profunctors into the functor `t`.

Implementations:
ProfunctorFunctor (GenTambaraten)
ProfunctorFunctor (GenPastroten)
ProfunctorFunctorClosure
ProfunctorFunctorEnvironment
promap : ProfunctorFunctort=>Profunctorp=>p:->q->tp:->tq
  Lift a transformation between profunctors into the functor `t`.

Totality: total
Visibility: public export
interfaceProfunctorMonad : ((Type->Type->Type) ->Type->Type->Type) ->Type
  A monad in the category of profunctors.

Laws:
* `projoin . proreturn ≡ id`
* `projoin . promap proreturn ≡ id`
* `projoin . projoin ≡ projoin . promap projoin`

Parameters: t
Constraints: ProfunctorFunctor t
Methods:
propure : Profunctorp=>p:->tp
projoin : Profunctorp=>t (tp) :->tp

Implementations:
(Tensorteni, Symmetricten) =>ProfunctorMonad (GenPastroten)
ProfunctorMonadEnvironment
propure : ProfunctorMonadt=>Profunctorp=>p:->tp
Totality: total
Visibility: public export
projoin : ProfunctorMonadt=>Profunctorp=>t (tp) :->tp
Totality: total
Visibility: public export
interfaceProfunctorComonad : ((Type->Type->Type) ->Type->Type->Type) ->Type
  A comonad in the category of profunctors.

Laws:
* `proextract . produplicate ≡ id`
* `promap proextract . produplicate ≡ id`
* `produplicate . produplicate ≡ promap produplicate . produplicate`

Parameters: t
Constraints: ProfunctorFunctor t
Methods:
proextract : Profunctorp=>tp:->p
produplicate : Profunctorp=>tp:->t (tp)

Implementations:
Tensorteni=>ProfunctorComonad (GenTambaraten)
ProfunctorComonadClosure
proextract : ProfunctorComonadt=>Profunctorp=>tp:->p
Totality: total
Visibility: public export
produplicate : ProfunctorComonadt=>Profunctorp=>tp:->t (tp)
Totality: total
Visibility: public export
interfaceProfunctorAdjunction : ((Type->Type->Type) ->Type->Type->Type) -> ((Type->Type->Type) ->Type->Type->Type) ->Type
  An adjunction between endofunctors in the category of profunctors.

Laws:
* `counit . promap unit ≡ id`
* `promap counit . unit ≡ id`

Parameters: l, r
Constraints: ProfunctorFunctor l, ProfunctorFunctor r
Methods:
prounit : Profunctorp=>p:->r (lp)
procounit : Profunctorp=>l (rp) :->p

Implementations:
ProfunctorAdjunction (GenPastroten) (GenTambaraten)
ProfunctorAdjunctionEnvironmentClosure
prounit : ProfunctorAdjunctionlr=>Profunctorp=>p:->r (lp)
Totality: total
Visibility: public export
procounit : ProfunctorAdjunctionlr=>Profunctorp=>l (rp) :->p
Totality: total
Visibility: public export