Algebraic laws for nondeterminism and concurrency
Journal of the ACM (JACM)
Programming in Prolog (3rd ed.)
Programming in Prolog (3rd ed.)
Computational lambda-calculus and monads
Proceedings of the Fourth Annual Symposium on Logic in computer science
Notions of computation and monads
Information and Computation
The essence of compiling with continuations
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Calculus of Communicating Systems
A Calculus of Communicating Systems
Adequacy for Algebraic Effects
FoSSaCS '01 Proceedings of the 4th International Conference on Foundations of Software Science and Computation Structures
Notions of Computation Determine Monads
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
Journal of Functional Programming
Combining effects: sum and tensor
Theoretical Computer Science - Clifford lectures and the mathematical foundations of programming semantics
Call-by-push-value: Decomposing call-by-value and call-by-name
Higher-Order and Symbolic Computation
Combining algebraic effects with continuations
Theoretical Computer Science
LICS '08 Proceedings of the 2008 23rd Annual IEEE Symposium on Logic in Computer Science
Computational Effects and Operations: An Overview
Electronic Notes in Theoretical Computer Science (ENTCS)
Monads and Adjunctions for Global Exceptions
Electronic Notes in Theoretical Computer Science (ENTCS)
Security-typed programming within dependently typed programming
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Monad transformers as monoid transformers
Theoretical Computer Science
Relating computational effects by ⊤⊤-lifting
ICALP'11 Proceedings of the 38th international conference on Automata, languages and programming - Volume Part II
Just do it: simple monadic equational reasoning
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Linearly-used state in models of call-by-value
CALCO'11 Proceedings of the 4th international conference on Algebra and coalgebra in computer science
Algebraic foundations for effect-dependent optimisations
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Concurrency and the algebraic theory of effects
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Relating computational effects by ττ-lifting
Information and Computation
An algebraic presentation of predicate logic
FOSSACS'13 Proceedings of the 16th international conference on Foundations of Software Science and Computation Structures
Programming and reasoning with algebraic effects and dependent types
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Extensible effects: an alternative to monad transformers
Proceedings of the 2013 ACM SIGPLAN symposium on Haskell
Normalization by Evaluation and Algebraic Effects
Electronic Notes in Theoretical Computer Science (ENTCS)
Freyd categories are Enriched Lawvere Theories
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
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.