TL;DR
Eff is a programming language that leverages algebraic effects and handlers to enable flexible, modular, and first-class management of computational effects, supporting advanced control flow techniques.
Contribution
The paper introduces Eff, a language with algebraic effects and handlers, providing a denotational semantics and demonstrating its ability to handle diverse effects and control flow constructs.
Findings
Eff supports first-class effects and handlers.
Eff enables seamless combination of effects.
Demonstrates handling of advanced control flow techniques.
Abstract
Eff is a programming language based on the algebraic approach to computational effects, in which effects are viewed as algebraic operations and effect handlers as homomorphisms from free algebras. Eff supports first-class effects and handlers through which we may easily define new computational effects, seamlessly combine existing ones, and handle them in novel ways. We give a denotational semantics of eff and discuss a prototype implementation based on it. Through examples we demonstrate how the standard effects are treated in eff, and how eff supports programming techniques that use various forms of delimited continuations, such as backtracking, breadth-first search, selection functionals, cooperative multi-threading, and others.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
