Programming Languages

Java Effekt

Java Effekt shows how to integrate effect handlers into a main stream language like Java. The library is designed to only uses simple type system features such as generics in order to integrate well with Java and its programming idioms.

The combination of Effect handlers and Java gives rise to interesting modularization techniques. For instance, interface composition can be used to structure and reuse handler implementations.

Effect handlers in Java Effekt are efficiently implemented by a type selective bytecode transformation. The translated programs use a separate, immutable runtime stack. We implement delimited continuations and eventually effect handlers as libraries in terms of this separate stack interface.

Related Publications

Effect Handlers for the Masses

by Jonathan Brachthäuser, Philipp Schuster, and Klaus Ostermann

In Proc. Int’l Conf. Object-Oriented Programming, Systems, Languages and Applications (OOPSLA). ACM Press, 2018.

Learn More