Idris2Doc : Control.Category.Records.Monad

Control.Category.Records.Monad

(source)

Definitions

recordMonadR : CategoryR->Type
  A *monad* `m` is a monoid object in the category of endofunctors
in `cat`, where the tensor product is given by composition.

See `CatMonad` for required laws.

Totality: total
Visibility: public export
Constructor: 
MkMonadR : (fun : (cat.obj->cat.obj)) ->CatMonad (cat.hom) fun=>MonadRcat

Projections:
.fun : MonadRcat->cat.obj->cat.obj
.functorR : MonadRcat->EndofunctorRcat
  Convert this into a `FunctorR`.
.impl : ({rec:0} : MonadRcat) ->CatMonad (cat.hom) ({rec:0}.fun)
.join : (rec : MonadRcat) ->cat.hom (rec.fun (rec.funa)) (rec.funa)
  The join transformation of the monad.
.map : (rec : MonadRcat) ->cat.homab->cat.hom (rec.funa) (rec.funb)
  Apply the monad to a morphism in `cat`.
.monadR : MonadRcat->MonadRcat
  Convert this into a `MonadR`.
.unit : (rec : MonadRcat) ->cat.homa (rec.funa)
  The unit transformation of the monad.
.fun : MonadRcat->cat.obj->cat.obj
Totality: total
Visibility: public export
.impl : ({rec:0} : MonadRcat) ->CatMonad (cat.hom) ({rec:0}.fun)
Totality: total
Visibility: public export
.functorR : MonadRcat->EndofunctorRcat
  Convert this into a `FunctorR`.

Totality: total
Visibility: public export
.map : (rec : MonadRcat) ->cat.homab->cat.hom (rec.funa) (rec.funb)
  Apply the monad to a morphism in `cat`.

Totality: total
Visibility: public export
.monadR : MonadRcat->MonadRcat
  Convert this into a `MonadR`.

Totality: total
Visibility: public export
.join : (rec : MonadRcat) ->cat.hom (rec.fun (rec.funa)) (rec.funa)
  The join transformation of the monad.

Totality: total
Visibility: public export
.unit : (rec : MonadRcat) ->cat.homa (rec.funa)
  The unit transformation of the monad.

Totality: total
Visibility: public export
recordStrongFunctorR : MonoidalR->Type
  An endofunctor has *tensorial strength* if it is compatible with a
monoidal category's tensor product.

See `StrongFunctor` for required laws.

Totality: total
Visibility: public export
Constructor: 
MkStrongFunctorR : (fun : (cat.obj->cat.obj)) ->StrongFunctor (cat.hom) (cat.tensor) fun=>StrongFunctorRcat

Projections:
.fun : StrongFunctorRcat->cat.obj->cat.obj
.functorR : StrongFunctorRcat->EndofunctorR (cat.categoryR)
  Convert this into a `FunctorR`.
.impl : ({rec:0} : StrongFunctorRcat) ->StrongFunctor (cat.hom) (cat.tensor) ({rec:0}.fun)
.map : (rec : StrongFunctorRcat) ->cat.homab->cat.hom (rec.funa) (rec.funb)
  Apply the functor to a morphism in `cat`.
.strongl : (rec : StrongFunctorRcat) ->cat.hom (cat.tensora (rec.funb)) (rec.fun (cat.tensorab))
  The left tensor strength.
.strongr : (rec : StrongFunctorRcat) ->cat.hom (cat.tensor (rec.funa) b) (rec.fun (cat.tensorab))
  The right tensor strength.
.fun : StrongFunctorRcat->cat.obj->cat.obj
Totality: total
Visibility: public export
.impl : ({rec:0} : StrongFunctorRcat) ->StrongFunctor (cat.hom) (cat.tensor) ({rec:0}.fun)
Totality: total
Visibility: public export
.functorR : StrongFunctorRcat->EndofunctorR (cat.categoryR)
  Convert this into a `FunctorR`.

Totality: total
Visibility: public export
.map : (rec : StrongFunctorRcat) ->cat.homab->cat.hom (rec.funa) (rec.funb)
  Apply the functor to a morphism in `cat`.

Totality: total
Visibility: public export
.strongl : (rec : StrongFunctorRcat) ->cat.hom (cat.tensora (rec.funb)) (rec.fun (cat.tensorab))
  The left tensor strength.

Totality: total
Visibility: public export
.strongr : (rec : StrongFunctorRcat) ->cat.hom (cat.tensor (rec.funa) b) (rec.fun (cat.tensorab))
  The right tensor strength.

Totality: total
Visibility: public export
recordStrongMonadR : MonoidalR->Type
  A strong monad is a monad that is also a strong functor.

See `StrongMonad` for required laws.

Totality: total
Visibility: public export
Constructor: 
MkStrongMonadR : (fun : (cat.obj->cat.obj)) ->StrongMonad (cat.hom) (cat.tensor) fun=>StrongMonadRcat

Projections:
.fun : StrongMonadRcat->cat.obj->cat.obj
.functorR : StrongMonadRcat->EndofunctorR (cat.categoryR)
  Convert this into a `FunctorR`.
.impl : ({rec:0} : StrongMonadRcat) ->StrongMonad (cat.hom) (cat.tensor) ({rec:0}.fun)
.join : (rec : StrongMonadRcat) ->cat.hom (rec.fun (rec.funa)) (rec.funa)
  The join transformation of the monad.
.map : (rec : StrongMonadRcat) ->cat.homab->cat.hom (rec.funa) (rec.funb)
  Apply the monad to a morphism in `cat`.
.monadR : StrongMonadRcat->MonadR (cat.categoryR)
  Convert this into a `MonadR`.
.strongFunctorR : StrongMonadRcat->StrongFunctorRcat
  Convert this into a `StrongFunctorR`.
.strongMonadR : StrongMonadRcat->StrongMonadRcat
  Convert this into a `StrongMonadR`.
.strongl : (rec : StrongMonadRcat) ->cat.hom (cat.tensora (rec.funb)) (rec.fun (cat.tensorab))
  The left tensor strength.
.strongr : (rec : StrongMonadRcat) ->cat.hom (cat.tensor (rec.funa) b) (rec.fun (cat.tensorab))
  The right tensor strength.
.unit : (rec : StrongMonadRcat) ->cat.homa (rec.funa)
  The unit transformation of the monad.
.fun : StrongMonadRcat->cat.obj->cat.obj
Totality: total
Visibility: public export
.impl : ({rec:0} : StrongMonadRcat) ->StrongMonad (cat.hom) (cat.tensor) ({rec:0}.fun)
Totality: total
Visibility: public export
.functorR : StrongMonadRcat->EndofunctorR (cat.categoryR)
  Convert this into a `FunctorR`.

Totality: total
Visibility: public export
.map : (rec : StrongMonadRcat) ->cat.homab->cat.hom (rec.funa) (rec.funb)
  Apply the monad to a morphism in `cat`.

Totality: total
Visibility: public export
.monadR : StrongMonadRcat->MonadR (cat.categoryR)
  Convert this into a `MonadR`.

Totality: total
Visibility: public export
.join : (rec : StrongMonadRcat) ->cat.hom (rec.fun (rec.funa)) (rec.funa)
  The join transformation of the monad.

Totality: total
Visibility: public export
.unit : (rec : StrongMonadRcat) ->cat.homa (rec.funa)
  The unit transformation of the monad.

Totality: total
Visibility: public export
.strongFunctorR : StrongMonadRcat->StrongFunctorRcat
  Convert this into a `StrongFunctorR`.

Totality: total
Visibility: public export
.strongl : (rec : StrongMonadRcat) ->cat.hom (cat.tensora (rec.funb)) (rec.fun (cat.tensorab))
  The left tensor strength.

Totality: total
Visibility: public export
.strongr : (rec : StrongMonadRcat) ->cat.hom (cat.tensor (rec.funa) b) (rec.fun (cat.tensorab))
  The right tensor strength.

Totality: total
Visibility: public export
.strongMonadR : StrongMonadRcat->StrongMonadRcat
  Convert this into a `StrongMonadR`.

Totality: total
Visibility: public export