Most of my work revolves around Lightweight Modular Staging (LMS), a platform and methodology for integrating runtime code generation into high-level programs and especially for building embedded compilers for domain specific languages (DSLs). Delite is a compiler framework jointly developed 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 am 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. Our project Lantern is a new take on deep learning frameworks based on LMS and delimited continuations, combining the benefits of TensorFlow and PyTorch. I am also interested in applying deep learning techniques to formal reasoning, in particular casting symbolic problems like program synthesis and 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.