Research
Current Research Areas
Compiling with Continuations
We develop novel strategies to efficient implement advanced control-flow structuring mechanisms.
More about this projectLexical 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 projectType- 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 PublicationsRecent Publications
Below we list a few recent publications. More publications can be found in the full list of publications.Qualifying System F-sub
by Edward Lee, Yaoyu Zhao, Ondřej Lhoták, James You, Kavin Satheeskumar, and Jonathan Immanuel Brachthäuser
In Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2024.
Capturing Types
by Aleksander Boruch-Gruszecki, Martin Odersky, Edward Lee, Ondrej Lhotak, and Jonathan Immanuel Brachthäuser
In ACM Trans. Program. Lang. Syst. (TOPLAS). Association for Computing Machinery, 2023.
Getting into the Flow: Towards Better Type Error Messages for Constraint-Based Type Inference
by Ishan Bhanuka, Lionel Parreaux, David Binder, and Jonathan Immanuel Brachthäuser
In Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2023.
With or Without You: Programming with Effect Exclusion
by Matthew Lutze, Magnus Madsen, Jonathan Immanuel Brachthäuser, and Philipp Schuster
In Proceedings of the International Conference on Functional Programming (ICFP). ACM Press, 2023.
From Capabilities to Regions: Enabling Efficient Compilation of Lexical Effect Handlers
by Marius Müller, Philipp Schuster, Jonathan Lindegaard Starup, Klaus Ostermann, and Jonathan Immanuel Brachthäuser
In Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2023.