Introduction The first monad tutorial and the `programmable semicolon' Landin's IO monad in modern eyes Other Landin's discoveries References Introduction Monads turned out a convenient tool to represent and reason about computational effects -- such as IO, mutable state and exceptions -- in lambda calculi. In particular, monads let us clearly separate evaluation-order--insensitive simplifications