Tiark  Rompf

I'm an assistant professor at Purdue University, in the broad area of programming languages and compilers.

I like to connect theory with applications, and PL principles with architecture, databases, machine learning, and AI.

My work spans language design, metaprogramming, program analysis, program transformation, program generation and synthesis, type systems, and semantics.


Some recent...


My research is generously supported by the following sponsors:

Three representative papers:

Most of my work revolves around Lightweight Modular Staging (LMS) and Delite, technologies for integrating runtime code generation into high-level programs and building embedded compilers for domain specific languages (DSLs). Delite is a joint project with Kunle Olukotun's group at the Stanford Pervasive Parallelism Lab. At Oracle Labs (2012-2014) I started Project Lancet, which aims to turn JIT compilers into precision tools in future JVM generations. I'm also applying LMS to speed up data processing and query engines. The most recent work in this direction is Flare, an accelerator back-end for Apache Spark that achieves order of magnitude speedups by compiling SQL and data frame queries to native code.

This whole area is seeing a surge of interest with the proliferation of AI systems based on computation graphs and automatic differentiation. I am also interested in applying deep learning techniques to formal reasoning, in particular casting symbolic problems like proof search as gameplay in the style of AlphaGo.

As a member of Martin Odersky's Scala team from 2008 to 2014, my contributions to Scala include delimited continuations, efficient immutable data structures (Set, Map, Vector) and speedups in the Scala compiler (type checking, implicit search, bytecode generation; up to 3x for certain projects). I also started the Scala-Virtualized research branch. More recently I helped formalize parts of Scala's type system in the DOT calculus, leading to the first mechanized soundness proof of DOT.

I received an MS in computer science from University of Lübeck (2008) and a PhD from EPFL (2012). Before my PhD I co-founded two startups and lead software projects outside of academia, ranging from CAD software for kitesurfing equipment to hospital systems for electronic anesthesia records, image processing for OCT workstations, and therapeutic games.



See also Google Scholar and DBLP.


Conferences/Workshops (Full Papers)

Workshops (Extended Abstracts)

Technical Reports



Invited Talks

Conference Tutorials

Selected Other Talks


Conference organization:

Program committee membership: