Current Research Areas
Compiling with Continuations
We develop novel strategies to efficient implement advanced control-flow structuring mechanisms.More about this project
Lexical Effect Handlers
The focus of this project is to study how to integrate the programming abstraction of effect handlers into general purpose programming languages.More about this project
Type- and Effect Systems
We develop type- and effect systems that support lightweight forms of effect polymorphism and that can be integrated into existing programming languages.More about this project
- Multi-Stage Programming
- Type-level Programming
- Regression Testing
- Parsing with Derivatives
- Algebra Composition
The Effekt Language
The language Effekt attempts to close the gap between research languages with effect handlers and languages for working programmers. The design of Effekt revolves around a different view of effects and effect types. Traditionally, effect types express which side effects a computation might have. In Effekt, effect types express which capabilities a computation requires from its context. This new point in the design space simplifies the treatment of effect polymorphism and the related issues of effect parametricity and effect encapsulation.
We invite you to experiment with the language on the Effekt homepage.Language Homepage Publications
Recent PublicationsBelow we list a few recent publications. More publications can be found in the full list of publications.
A Typed Continuation-Passing Translation for Lexical Effect Handlers
by Philipp Schuster, Jonathan Immanuel Brachthäuser, Marius Müller, and Klaus Ostermann
In Accepted for publication in Proceedings of the International Conference on Programming Language Design and Implementation (PLDI), 2022.
Effects, Capabilities, and Boxes: From Scope-based Reasoning to Type-based Reasoning and Back
by Jonathan Immanuel Brachthäuser, Philipp Schuster, Edward Lee, and Aleksander Boruch-Gruszecki
In Accepted for publication in Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2022.