Student programmers wanted; open thesis topics available.
Contact me.

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.


I serve in the following committees: WGP 2015 (Chair), Dagstuhl Seminar on DSLs 2015 (Chair), DSLDI 2014 (Chair), PLATEAU 2014 (PC), Parsing@SLE 2014 (Chair), DADA 2014 (PC), Onward 2014 (PC), GPCE 2014 (PC, PUB), LWC 2014 (PC), GPCE 2013 (PC), WCRE 2013 (tool demos), HessPL 2013 (Chair).