My general interests are programming languages and compilers. I explore new ways of programming complex systems, in order to make them simpler, safer, more robust, and more scalable.
I am a strong proponent of functional programming and formal methods, and a logician at heart.
|Oct 3, 2023||
Polymorphic Reachability Types
|Jul 1, 2023||I have joined Galois, Inc.|
|Jul 1, 2023||Graph IRs for Impure Higher-Order Languages accepted at OOPSLA 2023!|
|Dec 9, 2022||Compiling Parallel Symbolic Execution with Continuations accepted at ICSE 2023!|
|Jun 23, 2022||New paper at ECOOP: What If We Don’t Pop the Stack? The Return of 2nd-Class Values.|
- OOPSLAGraph IRs for Impure Higher-Order Languages: Making Aggressive Optimizations Affordable with Precise Effect Dependencies
- ICSECompiling Parallel Symbolic Execution with Continuations
- Polymorphic Reachability Types: Tracking Freshness, Aliasing, and Separation in Higher-Order Generic Programs
- ECOOPWhat If We Don’t Pop the Stack? The Return of 2nd-Class Values
- OOPSLAReachability Types: Tracking Aliasing and Separation in Higher-Order Functional Programs
- OOPSLACompiling Symbolic Execution with Staging and Algebraic Effects
- ICFPVersatile Event Correlation with Algebraic Effects
- OOPSLAA Co-Contextual Formulation of Type Rules and its Application to Incremental Type Checking