TU Delft Programming Languages

In the programming languages research program, we aim at improving the effectiveness and reliability of programming languages and systems. Effectiveness such that programmers can express intent at the right level of abstraction and get actionable feedback that is relevant and timely. Reliability such that programmers can trust the execution and analysis of programs.

We are hiring!

In our teaching we emphasize the study of the fundamental concepts of programming languages that prepare students for (contributing to the design and implementation of) the programming languages and systems of the future. Our course topics include algorithms and data-structures, compiler construction, semantics, type systems, static and dynamic analysis, software verification, model checking, and language engineering.

We are working on a uniform approach to support the high-level definition of software pipelines. As one particularly interesting use case, this approach provides a flexible framework for composition of compiler pipelines in the Spoofax language workbench.
Verified Programming Language Interaction
The goal of Robbert Krebbers's NWO VENI project is to develop mathematical methods for establishing the correctness of language interaction (foreign function interfaces, message passing, etc.).
Domain-Specific Languages for Adaptable Digital Print Systems
A TKI project in the HTSM Roadmap Embedded Systems in collaboration with Océ
The goal of Eelco Visser's NWO VICI project is to design high-level declarative meta-languages to enable verification and implementation of language definitions from a single source.
Scope graphs provide a uniform framework for the representation of a wide range of bindings and name resolution policies in programming languages.
Iris is an extensible framework that can be used for reasoning about safety of concurrent programs, as the logic in logical relations, to reason about type-systems, data-abstraction, etc.
The Spoofax Language Workbench provides a platform for high-level language definition and experimentation with linguistic abstractions for language engineering.
The WebDSL web programming language provides abstractions and consistency checking for data modeling, presentation, search, access control, and more.
The Inca is a program analysis framework for the MPS language workbench.
Evolute: Evolution of Software Systems with Extensible Languages and DSLs (Closed)
The goal of Sebastian Erdweg's Evolution project is to use extensible programming languages to enable the maintenance advantages of domain-specific languages in existing software systems: elimination of code bloat, prevention of injection attacks, compile-time enforcement of domain-specific invariants, domain-specific editor guidance.
News | October 11, 2019

We are delighted that Jesper Cockx will join TU Delft Programming Languages group as assistant professor starting December 1, 2019.

News | August 27, 2019

Jasper Denkers wins best paper and best presentation award at ESEC/FSE 2019 Doctoral Symposium for his paper on “A Longitudinal Field Study on Creation and Use of Domain-Specific Languages in Industry” based on work with/at Océ.

News | August 09, 2019

The PL group has an open position for a PhD student in the area of language engineering.

News | July 20, 2019

The PL group has an opening for an assistant or associate professor in programming languages (applications are due September 1, 2019)

News | July 16, 2019

Congratulations to Casper Bach Poulsen for his NWO Veni grant for Composable and Safe-by-Construction Programming Language Definitions.

News | June 19, 2019

Eduardo Amorim successfully defended his dissertation Declarative Syntax Definition for Modern Language Workbenches and was awarded the degree of doctor.

News | June 10, 2019

The paper “Scopes and Frames Improve Meta-Interpreter Specialization” by Vlad Vergu, Andrew Tolmach, and Eelco Visser has been accepted at ECOOP 2019.

News | April 25, 2019

Oracle donates $100K to support research on Flexible, Composable, and Incremental Compiler Pipelines

News | April 24, 2019

Congratulations to Sebastian Erdweg with his new position as Associate Professor at the Johannes Gutenberg Universität Mainz.

News | April 01, 2019

The paper “Towards Language-Parametric Semantic Editor Services based on Declarative Type System Specifications” by Daniël Pelsmaeker, Hendrik van Antwerpen, and Eelco Visser has been accepted at ECOOP 2019.

News | March 27, 2019

Daco Harkes successfully defended his PhD thesis Declarative Specification of Information System Data Models and Business Logic and was awarded the degree of doctor.

Seminar | Wed, January 22, 2020
Seminar | Wed, January 29, 2020
Seminar | Wed, February 05, 2020
Seminar | Wed, February 12, 2020
Reading Group | Wed, Jan 22, 2020
Theorems for Free!

By Philip Wadler in FPCA '89

Moderator: Jesper Cockx

Reading Group | Wed, Jan 29, 2020
Reading Group | Wed, Feb 05, 2020
Tabled Typeclass Resolution

By Daniel Selsam, Sebastian Ullrich, Leonardo de Moura

Moderator: Robbert Krebbers