I am an assistant professor of computer science at Harvard SEAS. Previously, I was a University Lecturer in Programming Languages at the University of Cambridge; a member of the team behind the Scala programming language at the Ecole Polytechnique Federale de Lausanne (EPFL), where I pursued my PhD; and a software engineer at Google, on the compiler infrastructure supporting Gmail and other Google Apps. I hold bachelor of science and master of engineering degrees from the Massachusetts Institute of Technology (MIT).

Research

I lead the metareflection lab, where we explore new ways of programming that are easier, faster, safer.

For safer, we look at systems and formalisms based on types and verification.

For faster, we look at meta-programming techniques including generative programming and reflection to collapse levels of interpretations as well as move between different views of the same program in a way that helps optimizations, understanding and modifications.

For easier, our goal is to enable a greater number of people to manipulate computer programs (static) and processes (dynamic) in a robust way. To this end, we look at combining Machine Learning and Programming Languages to enable the creation of neuro-symbolic systems that can move back and forth between learnable (neural) and interpretable (symbolic) representations of a system.

We are always looking for new application domains in which to evaluate programming techniques, particularly around medicine or creativity.

Research Interests

Publications

Research Projects

Teaching

Fall 2024 CS2520R PL Theory Implementation
Spring 2024 CS152 Programming Languages
Fall 2023 CS252R Program Synthesis
Fall 2022 CS252R Advanced Semantics of PL
Spring 2022 CS152 Programming Languages
Fall 2021 CS252R PL Design Graduate Seminar (PL Studio)
Spring 2021 CS152 Programming Languages
Fall 2020 CS252R PL/AI Graduate Seminar
Spring 2020 CS152 Programming Languages
Fall 2019 CS252R PL/HCI Graduate Seminar