Full Professor of Computer Science at TU Delft | Chair Programming Languages Group | Antoni van Leeuwenhoek Professor
September 10, 2016: Paper Teaching Concepts of Programming Languages with Definitional Interpreters in Scala and the WebLab Learning Management System. An Experience Report to appear at Scala 2016
August 25, 2016: Paper Bootstrapping domain-specific meta-Languages in language workbenches to appear at GPCE 2016
August 22, 2016: Paper Principled syntactic code completion using placeholders to appear at SLE 2016
July 8, 2016: Paper "Software that meets its Intent" to appear at ISoLA 2016
July 6, 2016: I have been invited to the program committee of ICSE 2018; submit interesting papers, please!
July 5, 2016: Presentation Grace in Spoofax: Readable Specification and Implementation in One by Michiel Haise at Grace 2016 workshop in Rome
May 24, 2016: Robbert Krebbers will join the Programming Languages group as assistant professor in September 2016.
April 15, 2016: Guido Wachsmuth has started in a new position at Oracle Labs Zürich where he has started working on integrating Spoofax and Truffle
April 12, 2016: Paper IceDust: Incremental and eventual computation of derived values in persistent object graphs accepted at ECOOP 2016
April 4, 2016: Paper Scopes describe frames: A uniform model for memory layout in dynamic semantics (ECOOP16) accepted at ECOOP 2016
March 11, 2016: Sebastian Erdweg will join the PL group as assistant professor per April 1, 2016
January 15, 2016: TU Delft now has an official Programming Languages Group
If you would be interested in working with me, you can also get in touch directly by email (but read this first).
I lead the Software Language Design and Engineering research program. Our mission is to enable software engineers to effectively design, implement, and apply domain-specific languages. We are doing research in three tracks:
Language engineering: investigate the automatic derivation of efficient, scalable, incremental compilers and usable IDEs from high-level, declarative language definitions
Semantics engineering: investigate the automatic verification of the consistency of language definitions in order to check properties such as type soundness and semantics preservation
Language design: investigate the systematic design of domain-specific software languages with an optimal tradeoff between expressivity, completeness, portability, coverage, and maintainability.
Integrated development environments
Transformation and analysis
Syntax definition and parsing
Abstractions for web programming
MetaBorg provides generic technology for allowing a host language (collective) to incorporate and assimilate external domains (cultures) in order to strengthen itself. The ease of implementing embeddings makes resistance futile.