Handling Algebraic Effects
Algebraic effects are computational effects that can be represented by an equational theory whose operations produce the effects at hand. The free model of this theory induces the expected computational monad for the corresponding effect. Algebraic effects include exceptions, state, nondeterminism,...
Gespeichert in:
| Veröffentlicht in: | Logical methods in computer science Jg. 9, Issue 4 |
|---|---|
| Hauptverfasser: | , |
| Format: | Journal Article |
| Sprache: | Englisch |
| Veröffentlicht: |
Logical Methods in Computer Science e.V
17.12.2013
|
| Schlagworte: | |
| ISSN: | 1860-5974, 1860-5974 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Zusammenfassung: | Algebraic effects are computational effects that can be represented by an
equational theory whose operations produce the effects at hand. The free model
of this theory induces the expected computational monad for the corresponding
effect. Algebraic effects include exceptions, state, nondeterminism,
interactive input/output, and time, and their combinations. Exception handling,
however, has so far received no algebraic treatment. We present such a
treatment, in which each handler yields a model of the theory for exceptions,
and each handling construct yields the homomorphism induced by the universal
property of the free model. We further generalise exception handlers to
arbitrary algebraic effects. The resulting programming construct includes many
previously unrelated examples from both theory and practice, including
relabelling and restriction in Milner's CCS, timeout, rollback, and stream
redirection. |
|---|---|
| ISSN: | 1860-5974 1860-5974 |
| DOI: | 10.2168/LMCS-9(4:23)2013 |