TU Delft Programming Languages Group

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. Find us on Mastodon!

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.

The YouTube Playlist with talks from the Delft Programming Languages group.
Programming and Validating Software Restructurings
In this NWO/AES MasCot project we will develop a framework for the definition of custom, project-specific software restructurings that can be automatically applied at scale, and automatically validate the correctness of the results of restructurings. The framework is evaluated by using it to restructure existing software at Philips.
Composable and Safe-by-Construction Programming Language Definitions
The goal of Casper Bach Poulsen's NWO VENI project is to enable the composition of intrinsically-typed definitional interpreters by developing techniques and a mathematical framework for defining and composing intrinsically-typed definitional interpreters in ways that preserve the type safety guarantees of each of the composed fragments.
Supported by an unrestricted gift by Oracle Labs, 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.).
DSLs for Adaptable Digital Print Systems
In this TKI project in the HTSM Roadmap Embedded Systems in collaboration with Canon Production Printing (formerly Océ), we work on the application of the Spoofax language workbench to the design and implementation of domain-specific languages for the digital print domain.
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.

Danny Groenewegen successfully defended his dissertation WebDSL: Linguistic Abstractions for Web Programming and was awarded the degree of doctor.

News | November 10, 2023

On 8 September 2023, Jeff Smits successfully defended his dissertation Strategic Language Workbench Improvements and was awarded the degree of doctor.

News | September 08, 2023

The Eelco Visser Commemorative Symposium was held on 5 April 2023: the first anniversary of Eelco’s untimely passing. It brought together more than 130 colleagues from various communities, with presentations of papers on topics related to Eelco’s research and his other academic activities. The proceedings were published online as volume 109 in the Dagstuhl Open Access Series in Informatics (OASIcs).

News | April 05, 2023

Since the start of 2023, Layne Liu has joined our group as a PhD student on the NWO MasCot project on Programming and Validating Software Restructurings. Welcome to the group!

News | February 01, 2023

Our dear colleague and friend Eelco Visser passed away on Tuesday 5 April 2022. Eelco was professor and head of the Programming Languages Group (faculty EWI) at TU Delft and an expert in the field of programming language design. He was a highly valued member of the management team of the Software Technology department. Eelco was tenacious, well-informed, and always driven by content. A researcher in heart and soul, who will be greatly missed.

News | April 05, 2022

Arjen Rouvoet successfully defended his dissertation Correct by Construction Language Implementations and was awarded the degree of doctor with distinction.

News | October 14, 2021

This year we have extended the PL group with many new PhD students. Welcome to Bohdan Liesnikov, Alex Chichigin, Lucas Escot, Aron Zwaan, Luka Miljak, Dennis Sprokholt, and Jaro Reinders. We still have open positions for two PhD students at the moment.

News | September 01, 2021

We are delighted that Benedikt Ahrens will join TU Delft Programming Languages group as assistant professor starting September 1, 2021.

News | September 01, 2021

We are delighted that Soham Chakraborty will join TU Delft Programming Languages group as assistant professor starting March 1, 2021.

News | March 01, 2021

Congratulations to Jesper Cockx for his NWO Veni grant for A Trustworthy and Extensible Core Language for Agda.

News | November 05, 2020

NWO has granted our proposal to the MasCot call to work on Programming and Validating Software Restructurings. We will be hiring two PhD students in Delft and one in Eindhoven. PI on the proposal is Eelco Visser. Co-applicants are Casper Bach Poulsen (TU Delft), Jan Friso Groote (TU Eindhoven), and Jeroen Keiren (TU Eindhoven).

News | December 06, 2019

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

News | October 11, 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 27, 2019

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

News | August 09, 2019

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

News | July 20, 2019

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

News | July 16, 2019

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

News | June 19, 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 | June 10, 2019

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

News | April 25, 2019

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

News | April 24, 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 | April 01, 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.

News | March 27, 2019