Programming Languages

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.

Participating Team Members

Tillmann Rendel

Julia Trieflinger

Klaus Ostermann

Julian Jabs

David Binder

Ingo Skupin

Tobias Weber

Publications

Decomposition Diversity with Symmetric Data and Codata

by Klaus Ostermann, Julian Jabs, David Binder, and Ingo Skupin

In Proceedings of Symposium on Principles of Programming Languages (POPL 2020), 2020.

Learn More

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.

Learn More

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.

Learn More

News

Presentation at the Symposium on Principles of Programming Languages 2020

Ingo Skupin
Researcher
Ingo Skupin
presents the paper Decomposition Diversity with Symmetric Data and Codata at the Symposium on Principles of Programming Languages in New Orleans (USA).

Read more …

Presentation at ICFP conference

Tillmann Rendel
Alumni
Tillmann Rendel
presents the paper Automatic Refunctionalization to a Language with Copattern Matching at the International Conference on Functional Programming in Vancouver, British Columbia. The paper is joint work with Julia Trieflinger
Alumni
Julia Trieflinger
and Klaus Ostermann
Head
Klaus Ostermann
.

Read more …

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 …