Article ID Journal Published Year Pages File Type
432258 Journal of Logical and Algebraic Methods in Programming 2015 16 Pages PDF
Abstract

•Eff is a programming language based on the theory of algebraic effects.•Computational effects and handlers are first-class entities in Eff.•Standard computational effects are definable in Eff.•Eff supports delimited control in a natural way.

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.

Related Topics
Physical Sciences and Engineering Computer Science Computational Theory and Mathematics
Authors
, ,