Idris2Doc : Control.Category.Records.Monad

Control.Category.Records.Monad

(source)

Definitions

record MonadR : 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 => MonadR cat

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

Totality: total
Visibility: public export
.map : (rec : MonadR cat) -> cat .hom a b -> cat .hom (rec .fun a) (rec .fun b)
  Apply the monad to a morphism in `cat`.

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

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

Totality: total
Visibility: public export
.unit : (rec : MonadR cat) -> cat .hom a (rec .fun a)
  The unit transformation of the monad.

Totality: total
Visibility: public export
record StrongMonadR : 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 => StrongMonadR cat

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

Totality: total
Visibility: public export
.map : (rec : StrongMonadR cat) -> cat .hom a b -> cat .hom (rec .fun a) (rec .fun b)
  Apply the monad to a morphism in `cat`.

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

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

Totality: total
Visibility: public export
.unit : (rec : StrongMonadR cat) -> cat .hom a (rec .fun a)
  The unit transformation of the monad.

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

Totality: total
Visibility: public export
.strongl : (rec : StrongMonadR cat) -> cat .hom (cat .tensor a (rec .fun b)) (rec .fun (cat .tensor a b))
  The left tensor strength.

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

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

Totality: total
Visibility: public export