Student programmers wanted; open thesis topics available.
I am post-doctoral researcher in the Software Technology Group at TU Darmstadt.
- 2009–2012, University of Marburg, PhD student, advised by Klaus Ostermann
- 2008–2009, BRICS, Aarhus University, PhD student, master's degree
- 2004–2008, TU Darmstadt, bachelor's degree
I am the lead developer of the extensible programming language SugarJ, which allows programmers to flexibly integrate new syntax, static analyses, and editor support by library import. SugarJ extensions are scoped via the module system and multiple extensions compose if activated in the same scope. Since SugarJ allows flexible and principled domain abstraction, it is particularly well-suited for the embedding of domain-specific languages.
My general research interests include: extensible programming languages, domain-specific languages, language design, language tooling, declarative parsing methodologies, module systems, type systems, and static analysis. I am involved in the following projects:
- SugarJ: Library-based language extensibility.
- Spoofax: Language workbench that derives full-featured Eclipse-based tool support for textual domain-specific languages from declarative language specifications.
- TypeChef: Parsing and type checking C code with #ifdef's from the entire Linux kernel.
- Layout-sensitive parsing: Declarative specification of layout-sensitive languages that, for example, apply the offside rule.
- Decorated trees: Use syntax trees as a generic intermediate code representation that can be decorated to denote desired IDE behavior. We use this intermediate representation to disentangle the rendering performed by IDEs from language-specific processing.