I build programming languages and compilers to make it easy to design and use specialized hardware. My work is driven by the need to answer fundamental questions that about hardware–software systems and using the answers to build elegant systems. My PhD answered three such questions:
Hardware designs must explicitly reason about discrete time. Filament is a new hardware description language that uses a type-system to explicitly reason about time and uses it to provide strong guarantees about the generated circuits. Filament’s ideas have influenced the design of Google’s XLS project and Jane Street’s Hardcaml language.
By intermixing software and hardware abstractions into one intermediate language. Calyx is a compiler infrastructure for transforming computational descriptions into efficient circuits. Calyx has been adopted by the LLVM CIRCT project and is the basis for several industrial and academic tools.
Types systems can encode low-level constraints within high-level languages. Dahlia shows how a novel kind of substructural type system captures circuit-level constraints within an imperative, loop-based language and uses it to ensure that every well-typed program makes predictable performance trade-offs.
At MIT, I will lead the Foundations of Languages and Machines (FLAME) lab where we will continue asking such questions and building new systems. If these directions excite you, apply to MIT’s PhD program and take a look at information for prospective students.
Awarded honarable mention for the SIGARCH / TCCA IEEE-CS Outstanding Dissertation Award.
Awarded the SIGPLAN John C. Reynolds Doctoral Dissertation Award.
Student Research Competition co-chair, PLMW invited talk, PLMW panel, and program committee member for PLDI 2025.
Invited talks at Jane Street Xcelerate Colloquium and the NYU PL/FM Seminar.