Comprehending monads

Research output: Contribution to journalArticlepeer-review

Abstract / Description of output

ABSTRACT Category theorists invented monads in the 1960's to express concisely certain aspects of universal algebra. Functional programmers invented list comprehensions in the 1970's to express concisely certain programs involving lists. This paper shows how list comprehensions may be generalised to an arbitrary monad, and how the resulting programming feature can express concisely in a pure functional language some programs that manipulate state, handle exceptions, parse text, or invoke continuations. A new solution to the old problem of destructive array update is also presented. No knowledge of category theory is assumed.
Original languageEnglish
Pages (from-to)461-493
Number of pages33
JournalMathematical Structures in Computer Science
Issue number04
Publication statusPublished - 1992


Dive into the research topics of 'Comprehending monads'. Together they form a unique fingerprint.

Cite this