/caterwaul/Monad/Type
Copy path to clipboardA monad on a category C is a monoid object in the category of endofunctors in C induced by composition.
Source
{-|
A monad on a category C is a monoid object in the category of endofunctors in C
induced by composition.
-}
let kCat = ../Category/Cat/semigroupal
let vObject = Type
let v =
../Category/Monoidal/Cartesian/extractCategory
kCat
Type
vObject
../Category/Set/monoidal/cartesian
in λ(object : Kind) →
λ(cat : ../Category/Kind kCat vObject object) →
../Monoid/Type
(kCat.arrow object object)
(../Category/Endofunctor/monoidal/monadic object v cat)