Research
I’ve done work mostly in programming languages, with an emphasis on programming tools and performance for non-experts.
Collapsible Contracts: Fixing a Pathology of Gradual Typing [OOPSLA 2018]
POP-PL: A Patient-Oriented Prescription Programming Language [TOPLAS (2018)]
Unconventional Parallelization of Nondeterministic Applications [ASPLOS 2018]
Herbarium Racketensis: A Stroll Through the Woods (Functional Pearl) [ICFP 2017]
The Liberation Day of Nondeterministic Programs (Poster) [PACT 2017]
Dissertation: How to Generate Actionable Advice about Performance Problems [slides]
Optimization Coaching for JavaScript [ECOOP 2015] [artifact (description)] [slides]
Experience Report: Applying Random Testing to a Base Type Environment [ICFP 2013] [slides]
Seeing the Futures: Profiling Shared-Memory Parallel Racket [FHPC 2012]
Where are you going with those types? (Extended Abstract) [IFL 2010] [slides]
PICOBIT: A Compact Scheme System for Microcontrollers [IFL 2009] [slides]
Peter J. Landin Best Paper Award
S3 (Small Scheme Stack): A Scheme TCP/IP Stack Targeting Small Embedded Applications. [Scheme Workshop 2008] [slides]