/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)