Tübingen Center for Programming Languages
The Tübingen Center for Programming Languages consists of three research groups with a joint goal: We want to advance the state of modern software engineering through programming language design and novel compilation techniques.
Grants
Funding duration: From 2026
Efficient Compilation of Control Effects II (ECCE 2)
Funding duration: From 2026
AxCut: A Safe Intermediate Language for Fast, Ubiquitous Asynchrony
Funding duration: 2021 to 2025
Efficient Compilation of Control Effects (ECCE)
Research Projects
Compiling with Continuations
We develop novel strategies to efficient implement advanced control-flow structuring mechanisms.
More about this projectComputational Thinking
This is the homepage of the “Computational Thinking” project. This notion, as established by S. Papert and J. Wing, describes the ability to solve problems by partitioning, modeling, abstraction and generalization. “Computational Thinking” focuses on a conceptual understanding of human thinking in the sense of information processing. Among other research in the general area of “Computational Thinking”, we will work on the realization of the school project described below.
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 projectUroboro
The goal of this project is to define a simple but expressive language with symmetric support for programming with data types and programming with codata types.
More about this projectMore information about our research can be found on the research page.
News
More news can be found on the news page.
Latest Publications
Filling the Gaps of Polarity: Implementing Dependent Data and Codata Types with Implicit Arguments
by Bohdan Liesnikov, David Binder, and Tim Süberkrüb
In The Art, Science, and Engineering of Programming 10(3), 2025.
The Simple Essence of Overloading: Making Ad-Hoc Polymorphism More Algebraic with Flow-Based Variational Type-Checking
by Jiří Beneš and Jonathan Brachthäuser
In Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2025.
Tracing Just-in-time Compilation for Effects and Handlers
by Marcial Gaißert, CF Bolz-Tereick, and Jonathan Brachthäuser
In Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2025.
The MNL: A Block-Based Functional Programming Language with Reactive Blocks
by Steven Lolong
In Proceedings of the International Workshop on Programming Abstractions and Interactive Notations, Tools, and Environments (PAINT). ACM Press, 2025.
Dynamic Wind for Effect Handlers
by David Voigt, Philipp Schuster, and Jonathan Brachthäuser
In Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2025.
More publications can be found on the publications page.