Will P.L.
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.

I am a full-stack CS researcher working 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.

I am starting as an assistant professor at Brown in Fall 2025. I am recruiting PhD students! If you are considering my group, then talk to me in-person at either OOPSLA 2024 or UIST 2024, or you can contact me over email.

Research Garden

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


Research interests focused a broad vision for the future.


Research interests focused on a particular system.


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

Conference Papers

Workshop Papers