Will P.L.
Crichton
Assistant Professor of
Computer Science at
Brown University

My goal is to empower people to use the full potential of computers through programming. To reach that potential, we need to combine a science of programming with a science of people. For me, these sciences are programming language theory and cognitive psychology, respectively. My research draws on these fields to make programming more usable, learnable, and powerful.

In Fall 2025, I am starting as an assistant professor at Brown University, where I am founding the Cognitive Engineering Lab. I am recruiting PhD students! If you are considering my group, then talk to me in-person at OOPSLA 2024, or contact me over email. Previously, I completed my PhD at Stanford, advised by Pat Hanrahan and Maneesh Agrawala. I am currently finishing up my postdoc at Brown with Shriram Krishnamurthi.

I do research primarily between PL and HCI. I build systems like program slicers, document languages, and type system visualizers. I develop theories like working memory for programmers, psychometrics for programming languages, and type-safe templates for System F. I work on systems languages like Rust, proof assistants like Lean, and UI tools like the browser. My Rust research has been used by over 100,000 developers to date. My research garden (below) explains my current interests in greater detail.

Research Garden

This is where I grow my ideas. Click on the sections that interest you.

Concepts

Research interests focused a broad vision for the future.

Technologies

Research interests focused on a particular system.

Publications

This is a representative set of my publications. Click the button above to see an exhaustive list.

Conference Papers

Workshop Papers