category-theory-presentation/categories/30_How/200_Monads/110_We_reinvented_Monads.md
2013-02-28 16:49:12 +01:00

463 B
Raw Blame History

We reinvented Monads!

A monad is a triplet (M,⊙,η) where

  • \(M\) an Endofunctor (to type a associate M a)
  • \(⊙:M×M→M\) a nat. trans. (i.e. ⊙::M (M a) → M a ; join)
  • \(η:I→M\) a nat. trans. (\(I\) identity functor ; η::a → M a)

Satisfying

  • \(M ⊙ (M ⊙ M) = (M ⊙ M) ⊙ M\)
  • \(η ⊙ M = M = M ⊙ η\)