Research Papers

The Effekt language is developed by members of the effects research team at the University of Tübingen. The main reference is the following tech report:

“Effekt: Lightweight Effect Polymorphism for Handlers”.
Jonathan Immanuel Brachthäuser, Philipp Schuster, and Klaus Ostermann.
Tech Report (PDF)

The tech report is an extended version of the OOPSLA’20 publication:

“Effects as Capabilities: Effect Handlers and Lightweight Effect Polymorphisms”.
Jonathan Immanuel Brachthäuser, Philipp Schuster, and Klaus Ostermann. 2020.
In Proc. ACM Program. Lang., 4 (OOPSLA), Article 126 (ACM).

The language is the result of several developments. In particular, it is the first language to combine a second-class type-system with advanced control effects. In particular, we compile Effekt programs to capability-passing style, using a monadic implementation of delimited control.

You can read more about the language, its predecessors, and important technical details in the following papers, which are ordered by relevance to the Effekt language. We are happy to share author-copies on request.

“Effekt: Capability-Passing for Type- and Effect-Safe, Extensible Effect Handlers in Scala”.
Jonathan Immanuel Brachthäuser, Philipp Schuster, and Klaus Ostermann.
Journal of Functional Programming (JFP 2020). (PDF)

“Effekt: Extensible Algebraic Effects in Scala (Short Paper)”. Jonathan Immanuel Brachthäuser and Philipp Schuster.
In Proceedings of the 8th ACM SIGPLAN International Symposium on Scala (SCALA 2017).
ACM, New York, NY, USA, 67-72. (PDF)

“Effect Handlers for the Masses”.
Jonathan Immanuel Brachthäuser, Philipp Schuster, and Klaus Ostermann.
In Proc. ACM Program. Lang., 2 (OOPSLA 2018): 111:1–111:27. (PDF)

“Capability-Passing Style for Zero-Cost Effect Handlers”.
Philipp Schuster, Jonathan Immanuel Brachthäuser, and Klaus Ostermann.
In Proceedings of the International Conference on Functional Programming (ICFP 2020). (PDF, ACM)

“Programming with Implicit Values, Functions, and Control”.
Jonathan Immanuel Brachthäuser and Daan Leijen.
Technical Report MSR-TR-2019-7. Microsoft Research. (PDF)

“Typing, Representing, and Abstracting Control”.
Philipp Schuster and Jonathan Immanuel Brachthäuser.
In Proceedings of the 3rd ACM SIGPLAN International Workshop on Type-Driven Development (TyDe 2018).
ACM, New York, NY, USA, 14-24. (PDF)

“Effect Handlers, Evidently”.
Ningning Xie, Jonathan Immanuel Brachthäuser, Daniel Hillerström, Philipp Schuster, Daan Leijen. 2020.
In Proceedings of the International Conference on Functional Programming (2020). (PDF, ACM)

“Taming Control-flow through Linear Effect Handlers”.
Daan Leijen and Jonathan Immanuel Brachthäuser.
Accepted for presentation at the 7th ACM SIGPLAN Workshop on Higher-Order Programming with Effects (HOPE 2018).

“Towards Naturalistic EDSLs using Algebraic Effects”.
Jonathan Immanuel Brachthäuser.
Accepted for presentation at Domain-Specific Language Design and Implementation (DSLDI 2017).