# Monads

Monads encode syntactic representations of algebraic structure. Additionally, monads have attained cult status in parts of the PLT community for their ability to encode stateful computations in purely functional programming languages like Haskell.

Notoriously, a *monad* on a category \(C\) is a monoid in the monoidal category of
endofunctors of \(C\). This is actually a good way to remember the definition.

## General theory

Monads are covered in most textbooks on category theory, such as:

- Borceux, 1994:
*Handbook of Categorical Algebra*, Vol. 2, Ch. 4: Monads - Awodey, 2010:
*Category Theory*, 2nd ed., Ch. 10: Monads and algebras - Riehl, 2016:
*Category Theory in Context*, Ch. 5: Monads and their algebras- Nice list of examples from mathematics and computer science

- Jacobs, 2017:
*Introduction to Coalgebra*, Ch. 5: Monads, comonads, and distributive laws (doi)

The mathematical significance of monads comes mainly from their connection with universal algebra .

- Baez, 2006, lectures: Universal algebra and diagrammatic reasoning (slides)
- Links to further materials on the companion website
- See also Baez’s short summary of monads on the n-Category Cafe

- Hyland & Power, 2007: The category theoretic understanding of universal
algebra: Lawvere theories and monads (doi, nCat Cafe )
- Contrasts the two categorical formulations of universal algebra: Lawvere theories versus monads
- Behrisch, Kerkhoff, Power, 2012: Category theoretic understandings of universal algebra and its dual: Monads and Lavwere theories, comonads and what? (doi)

- Voutas, 2012, expository notes: The basic theory of monads and their connection to universal algebra (pdf)

## Special monads and applications

**Probability monads**

For the Giry monad and other probability monads, see categorical probability theory.