Eberhard Karls Universität Tübingen

Mathematisch-Naturwissenschaftliche FakultätProgramming Languages and Software Technology


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.


Tillmann Rendel

Julia Trieflinger

Klaus Ostermann

Tobias Weber

Julian Jabs


Dualizing Generalized Algebraic Data Types by Matrix Transposition

by Klaus Ostermann and Julian Jabs

In Proc. Europ. Symposium on Programming (ESOP). Lecture Notes in Computer Science, 2018.

Automatic Refunctionalization to a Language with Copattern Matching: With Applications to the Expression Problem

by Tillmann Rendel, Julia Trieflinger, and Klaus Ostermann

In Proceedings of International Conference on Functional Programming, pages 269–279. ACM, 2015.


Paper accepted at ICFP

Our paper on automatic refunctionalization for a language with copattern matching has been accepted for presentation at the International Conference on Functional Programming.
Read more ...

BSc. Defense by Tobias Weber and Mini-Workshop on Uroboro

Tobias Weber from the University of Marburg visits Tübingen to defend his BSc. thesis entitled “An Implementation of a Language with Pattern and Copattern Matching”. On the occasion of his visit, we organize a little workshop about application of the language “Uroboro” that Tobias implemented.
Read more ...

Open Thesis Topics

Integrated Environment for Uroboro Refactorings

Implement an editor for Uroboro that supports some features of an integrated development environment. In particular, we want to support experimentation with various refactorings based on program transformations that we are developing as part of the Uroboro project.
Read more ...

Finished Thesis Topics

Transformations for Uroboro Programs

Implement a set of program transformations between programs in (subsets or all of) the language Uroboro that has recently been proposed by the working group of programming languages and software technology.
Read more ...