I do programming languages and computer architecture. I like research that breaks down abstraction barriers and rethinks the hardware–software interface. I worked on approximate computing, the idea that computers can be more efficient if we let them make mistakes. See what’s going on in my research group, which is called Capra.

I am an assistant professor in the Department of Computer Science at Cornell University, where I am also part of the Computer Systems Laboratory. I graduated from the University of Washington in 2015. Here’s my CV.

latest blogging: February 27, 2018 — more bloggingssubscribe

Is JavaScript Statically or Dynamically Scoped?

Cornell’s CS 6110 gives a pretty solid definition of static and dynamic scoping for the λ-calculus, but I also wanted to give an example of static scoping in a real language. I wrestle with JavaScript, which has a little bit of both.