zbMATH — the first resource for mathematics

Handlers of algebraic effects. (English) Zbl 1234.68059
Castagna, Giuseppe (ed.), Programming languages and systems. 18th European symposium on programming, ESOP 2009, held as part of the joint European conferences on theory and practice of software, ETAPS 2009, York, UK, March 22–29, 2009. Proceedings. Berlin: Springer (ISBN 978-3-642-00589-3/pbk). Lecture Notes in Computer Science 5502, 80-94 (2009).
Summary: We present an algebraic treatment of exception handlers and, more generally, introduce handlers for other computational effects representable by an algebraic theory. These include nondeterminism, interactive input/output, concurrency, state, time, and their combinations; in all cases the computation monad is the free-model monad of the theory. Each such handler corresponds to a model of the theory for the effects at hand. The handling construct, which applies a handler to a computation, is based on the one introduced by Benton and Kennedy, and is interpreted using the homomorphism induced by the universal property of the free model. This general construct can be used to describe previously unrelated concepts from both theory and practice.
For the entire collection see [Zbl 1157.68004].

68N18 Functional programming and lambda calculus
03B70 Logic in computer science
18C15 Monads (= standard construction, triple or triad), algebras for monads, homology and derived functors for monads
Full Text: DOI