Tübingen Center for Programming Languages

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)

We develop low-overhead compilation strategies and just-in-time specialization techniques that make effect handlers practical for performance-critical software.

Funding duration: From 2026

AxCut: A Safe Intermediate Language for Fast, Ubiquitous Asynchrony

We develop AxCut, a new intermediate representation grounded in classical sequent calculus, to represent, optimize, and reason about asynchronous programs.

Funding duration: 2021 to 2025

Efficient Compilation of Control Effects (ECCE)

We developed novel compile-time, runtime, and just-in-time compilation techniques to make effect handlers practical and achieve speedups of multiple orders of magnitude over the state of the art.

Research Projects

Compiling with Continuations

We develop novel strategies to efficient implement advanced control-flow structuring mechanisms.

More about this project

Computational 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 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

Uroboro

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 project

More information about our research can be found on the research page.

News

Two Papers at OOPSLA 2025 R1

Together with our collaborators the SE group presents two (very) different papers at round 1 of this year’s International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2025 R1).

Read more ...

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.