Tiark  Rompf

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

I'm interested in all aspects of programming. My primary goal is to make high-level languages and programming techniques usable for performance critical systems.

To that end, my research focuses on generative programming, which can turn highly generic programs into specialized and efficient implementations.

I like bringing theoretical insights into practical use, and applying PL technology to other CS fields such as databases, machine learning, and architecture.

News

Some recent...

Research

My research is generously supported by the following sponsors:
Three recent 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.

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.

Projects

Publications

See also Google Scholar and DBLP.

Current Drafts

Journals

Conferences/Workshops (Full Papers)

Workshops (Extended Abstracts)

Technical Reports

Theses

Presentations

Invited Talks

Conference Tutorials

Selected Other Talks

Activities

Conference organization:

Program committee membership: