I'm a computer science Ph.D. student at Stanford advised by Fredrik Kjolstad.
I'm interested in how programming languages help people learn and think, and how we might achieve the old dynamic media dream. I work on domain-specific languages that emphasize relations and rules.
My current project is a language for interactive computations inspired by board games called Turn.
Previously I've worked on Etch, a compiler for tensor arithmetic, relational queries, and more. We use the notion of indexed streams to abstract the implementation details of sparse computations and mechanically verify our composition methods.
I like functional programming, relational languages, algebraic optimizations, naive realism, and games.