Last Wednesday, January 29, 2014, Maartje de Jonge successfully defended her thesis "Language-parametric Techniques for Language-Specific Editors"

Abstract: The goal of this dissertation is to develop techniques that simplify the implementation of tool support for new languages. More specifically, we focus on language-parametric solutions for the implementation of language-specific editor support. In the first part of this dissertation we investigate generic techniques to recover from syntax errors that occur during interactive editing. In the second part we look into language-parametric techniques for the implementation of refactoring tools.

Her research is also available through the parse error recovery provided by the Spoofax Language Workbench.

(on facebook)

Read more


On January 17, 2014 I'm giving my inaugural speech on the occasion of my appointment as full professor at TU Delft.

This seemed like a good excuse to organize a symposium and get some great speakers from the programming languages community to come to Delft. I am delighted that the following excellent researchers and speakers accepted my invitation to speak at the symposium on The Future of Programming on January 16 and 17 in Delft:

Registration is free and includes lunch. While seating at the inaugural speech is virtually unlimited, seating at the symposium is limited and quickly filling up. Make sure to register soon.

Vortrag | DSLs und ihre Tools: State of the Art | Markus Völter (Freiberufler/itemis)

Vortrag | DSLs und ihre Tools: State of the Art | Markus Völter (Freiberufler/itemis)

Searching for a portrait of Markus Völter on flickr, I found this picture from April 2013 on which he seems to be presenting the name binding language of Spoofax.

Users of Stratego/Spoofax often express confusion about the dynamic rules feature of the language. There is a reason for that, since dynamic rules are often used to simulate global variables and stateful programming. However, the feature was developed for more interesting use cases. The approach provides an elegant example of how to combine analysis and transformation, which is nicely demonstrated by the definition of partial evaluation, for example. A more important problem is that it is not clear how to make transformations with dynamic rules incremental, which is a requirement in interactive development environments. In considering new designs to realize incremental, interactive context-sensitive transformations, I think it is useful to be at least be aware of the original design goals and capabilities of dynamic rules in Stratego.

I'll be giving a talk about dynamic rules in our Software Language Engineering Meeting at November 5 at TU Delft. For those who cannot attend, here are some pointers to papers

and a couple of slide decks (with quite a bit of overlap):

Read more

Paul Klint

On the occasion of Paul Klint's retirement, I wrote a small essay about the role of linguistic abstraction in understanding software. The paper should be published in an upcoming special issue of Science of Computer Programming. A pre-print is available as TUD-SERG technical report

Abstract: In this essay, I argue that linguistic abstraction should be used systematically as a tool to capture our emerging understanding of domains of computation. Moreover, to enable that systematic application, we need to capture our understanding of the domain of linguistic abstraction itself in higher-level meta languages. The argument is illustrated with examples from the SDF, Stratego, Spoofax, and WebDSL projects in which I explore these ideas.