Skip to main content
PaperintermediateFree

Monads for Functional Programming

by Philip Wadler · University of Edinburgh

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.

Visit resource

More resources on Monads

WebsiteFree

Wolfram MathWorld

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.

WebsiteFree

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.

YouTubeFree

The Catsters: Monads (lecture series)

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.

BookPaid

Categories for the Working Mathematician (2nd edition)

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.

BookFree

Category Theory in Context

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.

PaperFree

Notions of Computation and Monads

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.

See all Monads resources →