Notice

The website of Tom Schrijvers has moved to http://people.cs.kuleuven.be/~tom.schrijvers. Please adjust any links you maintain as this copy will be taken down shortly.


Towards Efficient Implementations of Effect Handlers


Steven Keuchel and Tom Schrijvers.
IFL 2014.
2014.

Abstract

In recent years algebraic effects and effect handlers emerged as a compelling alternative to monads as a basis for effectful programming in functional programming languages. This approach provides language primitives for defining new abstract effectful operations, which the programmer uses to write his own programs, and effect handlers that instantiate the abstract operations with concrete implementations. We want to address the performance concerns of effect handlers to help their adoption. Specifically we want to address the implementation and optimization of common cases that do not use the full power of effect handlers. To this end, we are developing a definitional machine for effect handlers based on a definitional machine for delimited continuations that provides generic low-level primitives for the implementation of effect-handlers and a small call-by-value lambda-calculus with effect handlers.

BibTeX

@inproceedings{ifl2014,
  title = {Towards Efficient Implementations of Effect Handlers},
  author = {Steven Keuchel and Tom Schrijvers},
  year = {2014},
  booktitle = {IFL 2014},
  url = {/Research/papers/ifl2014.pdf},
  abstract = {In recent years algebraic effects and effect handlers emerged as a
compelling alternative to monads as a basis for effectful programming
in functional programming languages. This approach provides language
primitives for defining new abstract effectful operations, which the
programmer uses to write his own programs, and effect handlers that
instantiate the abstract operations with concrete implementations.

We want to address the performance concerns of effect handlers to help
their adoption. Specifically we want to address the implementation and
optimization of common cases that do not use the full power of effect
handlers.
To this end, we are developing a definitional machine for effect
handlers based on a definitional machine for delimited continuations
that provides generic low-level
primitives for the implementation of effect-handlers and a small
call-by-value lambda-calculus with effect handlers.
},
}