Idris2Doc : Control.Category.Instances.Kleisli

Control.Category.Instances.Kleisli

(source)
This module defines a more general Kleisli category construction
that can be used to derive a premonoidal category structure from
any strong monad on any premonoidal category.

Definitions

recordKleisli : Homobj-> (obj->obj) ->obj->obj->Type
  The Kleisli category of a category `cat` with monad `m`. This
forms another category with the same objects. In addition, if
`cat` is a premonoidal category, then this category inherits its
premonoidal structure. (Note that this is NOT the case for
monoidal structure.)

Totality: total
Visibility: public export
Constructor: 
MkKleisli : cata (mb) ->Kleislicatmab

Projection: 
.runKleisli : Kleislicatmab->cata (mb)

Hints:
PreBimonoidalcataddmulzi=> (StrongMonadcataddm, StrongMonadcatmulm) =>PreBimonoidal (Kleislicatm) addmulzi
PreBraidedcatteni=>StrongMonadcattenm=>PreBraided (Kleislicatm) teni
PreCartesiancatteni=>StrongMonadcattenm=>PreCartesian (Kleislicatm) teni
Categorycat=>StrongMonadcattenm=>EndoBinoidalcatten=>EndoBinoidal (Kleislicatm) ten
Categorycat=>CatMonadcatm=>Category (Kleislicatm)
PreCocartesiancatteni=>StrongMonadcattenm=>PreCocartesian (Kleislicatm) teni
PreMonoidalcatteni=>StrongMonadcattenm=>PreMonoidal (Kleislicatm) teni
Promonad0cat=>CatMonadcatm=>Promonad0 (Kleislicatm)
.runKleisli : Kleislicatmab->cata (mb)
Totality: total
Visibility: public export
runKleisli : Kleislicatmab->cata (mb)
Totality: total
Visibility: public export
KleisliBinoidal : Categorycat=>StrongMonadcattenm=>EndoBinoidalcatten=>EndoBinoidal (Kleislicatm) ten
  WARNING: This is typically a binoidal functor, not a true bifunctor.
It is only a bifunctor if the monad `m` is commutative over `ten`.

Totality: total
Visibility: public export
KleisliPreMonoidal : PreMonoidalcatteni=>StrongMonadcattenm=>PreMonoidal (Kleislicatm) teni
  WARNING: This is typically a premonoidal category, not truly monoidal.
It is only monoidal if the monad `m` is commutative over `ten`.

Totality: total
Visibility: public export
KleisliPreBraided : PreBraidedcatteni=>StrongMonadcattenm=>PreBraided (Kleislicatm) teni
Totality: total
Visibility: public export
KleisliPreCartesian : PreCartesiancatteni=>StrongMonadcattenm=>PreCartesian (Kleislicatm) teni
Totality: total
Visibility: public export
KleisliPreCocartesian : PreCocartesiancatteni=>StrongMonadcattenm=>PreCocartesian (Kleislicatm) teni
Totality: total
Visibility: public export
KleisliPreBimonoidal : PreBimonoidalcataddmulzi=> (StrongMonadcataddm, StrongMonadcatmulm) =>PreBimonoidal (Kleislicatm) addmulzi
Totality: total
Visibility: public export
Kleisli : (cat : CategoryR) ->MonadRcat->CategoryR
Totality: total
Visibility: public export
KleisliInj : FunctorRcat (Kleislicatm)
Totality: total
Visibility: public export
Kleisli : (cat : PreMonoidalR) ->StrongMonadRcat->PreMonoidalR
Totality: total
Visibility: public export
Kleisli : (cat : PreBraidedR) ->StrongMonadR (cat.monoidalR) ->PreBraidedR
Totality: total
Visibility: public export
Kleisli : (cat : PreCartesianR) ->StrongMonadR (cat.monoidalR) ->PreCartesianR
Totality: total
Visibility: public export
Kleisli : (cat : PreCocartesianR) ->StrongMonadR (cat.monoidalR) ->PreCocartesianR
Totality: total
Visibility: public export