Java Effekt shows how to integrate lexical 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.