Prompts are Programs

A DSL for Implementing Math Functions

Undefined Behavior deserves a better reputation (2021)

Language Design in the Real World

Provably space-efficient parallel functional programming

Undefined Behavior deserves a better reputation

PL Notation is a Barrier to Entry

Story of the Flash Fill Feature in Excel

Finding Bugs in C and C++ Compilers using YARPGen

High Performance Correctly Rounded Math Libraries for 32-Bit Floating Point

Defunctionalization: Everybody Does It, Nobody Talks About It (2019)

Reflective Towers of Interpreters

Programming Languages + Human-Computer Interaction: SPLASH 2020

Circuit Synthesis for Analog Computing

Making PL Ideas Accessible: An Open-Source, Open-Access, Interactive Journal

Teaching Compilers Backward

Finding Bugs in C and C++ Compilers using YARPGen

What’s the Role of Developer Experience in Programming Languages Research?

Functional Algorithm Design, Part 0

Programming Language notation is a Barrier to Entry

What Is a Sustainable Path to Open Access?

Runtime Support for Multicore Haskell: A Retrospective

Defunctionalization: Everybody Does It, Nobody Talks About It

Building Your First Program Synthesizer

What Type Soundness Theorem Do You Really Want to Prove?

Gradual Typing from Theory to Practice

My First Fifteen Compilers