Programming Languages

Effekt: Extensible Algebraic Effects in Scala (Short Paper)

by Jonathan Immanuel Brachthäuser and Philipp Schuster

In Proceedings of the International Symposium on Scala. ACM Press, 2017.

This publication is related to the Effects research project.

Abstract

Algebraic effects are an interesting way to structure effectful programs and offer new modularity properties. We present the Scala library Effekt, which is implemented in terms of a monad for multi-prompt delimited continuations and centered around capability passing. This makes the newly proposed feature of implicit function types a perfect fit for the syntax of our library. Basing the library design on capability passing and a polymorphic embedding of effect handlers furthermore opens up interesting dimensions of extensibility. Preliminary benchmarks comparing Effekt with an established library suggest significant speedups.

News

Dagstuhl Seminar on Domain-Specific Languages

Jonathan Brachthäuser
Alumni
Jonathan Immanuel Brachthäuser
attends the Dagstuhl-Seminar on “Algebraic Effect Handlers go Mainstream” from April 22 to 27, 2018.

Read more ...

Presentation at the Scala Symposium 2017

Jonathan Brachthäuser
Alumni
Jonathan Immanuel Brachthäuser
presents the paper Effekt: Extensible Algebraic Effects in Scala at the Scala Symposium 2017.

Read more ...