---
title: Monads
description: Monads are algebraic structures in category theory that represent computations as sequential steps. Learners will understand how to model side effects, state, and non-determinism mathematically, particularly within functional programming paradigms.
category: mathematics
subcategory: category-theory
difficulty: beginner, intermediate, advanced
url: /subject/monads
---

# Monads

Monads are algebraic structures in category theory that represent computations as sequential steps. Learners will understand how to model side effects, state, and non-determinism mathematically, particularly within functional programming paradigms.

## Available Resources

2 Books • 3 Websites • 2 Papers

## Websites

### 1. nLab: Monad

nLab's category-theory wiki entry giving the formal definition of a monad as a monoid in an endofunctor category, plus its relation to adjunctions, algebras and Kleisli categories. Terse, reference-grade, and assumes comfort with categorical language.

**Difficulty:** Beginner | **Price:** Free

**Link:** https://ncatlab.org/nlab/show/monad

**Tags:** category-theory, monads, adjunctions, kleisli, reference

### 2. Wolfram MathWorld

**Author:** Eric W. Weisstein

MathWorld is an online mathematics encyclopedia from Wolfram Research offering detailed, browsable articles on topics across the math spectrum, including algebra, geometry, calculus, and number theory. Each entry includes definitions, theorems, formulas, diagrams, worked examples, and links to further reading.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://mathworld.wolfram.com

**Tags:** mathematics-reference, encyclopedia, abstract-algebra, number-theory, geometry

### 3. nLab

Collaborative wiki for mathematics, physics and philosophy written from a category-theoretic viewpoint, with cross-linked entries on categories, functors, adjunctions, topos theory, higher category theory and homotopy theory. Readers can look up precise definitions, examples and references for advanced structural mathematics.

**Difficulty:** Advanced | **Language:** English | **Price:** Free

**Link:** https://ncatlab.org

**Tags:** category-theory, higher-category-theory, topos-theory, homotopy-theory, reference-wiki

## Youtubes

### 1. The Catsters: Monads (lecture series)

**Author:** Eugenia Cheng and Simon Willerton

Six short blackboard lectures defining a monad as an endofunctor with unit and multiplication, then deriving monads from adjunctions and working through Eilenberg-Moore and Kleisli algebras with concrete algebraic examples. No code, straight to the categorical definition and the adjunction/monad correspondence.

**Difficulty:** Advanced | **Language:** English | **Price:** Free

**Link:** https://www.youtube.com/playlist?list=PL0E91279846EC843E

**Tags:** category-theory, monads, adjunctions, eilenberg-moore, kleisli

## Books

### 1. Categories for the Working Mathematician (2nd edition)

**Author:** Saunders Mac Lane

The standard graduate reference for category theory. Chapter VI develops monads, Eilenberg-Moore and Kleisli algebras, and Beck's monadicity theorem, so readers can prove when an adjunction is monadic rather than only recognise the pattern.

**Difficulty:** Advanced | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/0387984038?tag=edmonddante07-20

**Tags:** category-theory, monads, adjunctions, mathematics, graduate-textbook

### 2. Category Theory in Context

**Author:** Emily Riehl

A one-semester graduate category theory text, free from the author's site and also in print from Dover. Treats adjunctions, limits and the Yoneda lemma before monads, monadic adjunctions and Beck's monadicity theorem, with examples drawn from algebra and topology.

**Difficulty:** Advanced | **Language:** English | **Price:** Free

**Link:** https://emilyriehl.github.io/files/context.pdf

**Tags:** category-theory, monads, yoneda-lemma, adjunctions, mathematics

## Papers

### 1. Monads for Functional Programming

**Author:** Philip Wadler

Wadler's Marktoberdorf summer-school notes translating Moggi's semantics into programming practice. Builds one interpreter three times — with exceptions, state and output — showing how each monad isolates the effect and leaves the surrounding code untouched.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf

**Tags:** monads, functional-programming, haskell, computational-effects, programming-language-theory

### 2. Notions of Computation and Monads

**Author:** Eugenio Moggi

The 1991 Information and Computation paper that introduced monads as a semantics for computational effects. Readers finish able to explain why Kleisli composition models state, exceptions and non-determinism uniformly, and where the computational lambda-calculus comes from. Source Truth for the whole topic.

**Difficulty:** Advanced | **Language:** English | **Price:** Free

**Link:** https://person.dibris.unige.it/moggi-eugenio/ftp/ic91.pdf

**Tags:** monads, denotational-semantics, computational-effects, lambda-calculus, programming-language-theory

---

*This content is part of Dantes.io - Your Treasure Map to Knowledge*

*Curated by humans at Dantes.io. Personal study use welcome; republishing this curation requires permission (team@dantes.io).*

View this page online: https://dantes.io/subject/monads