The Three Projections of Doctor Futamura (2009)

What does it mean for a monad to be strong?

What is a photon? (2017)

From Löb's Theorem to Spreadsheet Evaluation (2006)

Running from the past

Why is nuclear fusion so hard?

Reverse Engineering Machines with the Yoneda Lemma

Self-referential logic via self-referential circuits

Haskell Monoids and their Uses (2009)

Reverse Engineering Machines with the Yoneda Lemma (2006)

Dimensionful matrices — matrices with, possibly heterogenous, units

Make sure a program never hangs.

Data and Codata (2007)

Optimising pointer subtraction with 2-adic integers.

The Three Projections of Doctor Futamura [2009]

Reasons to use Haskell as a Mathematician (2006)

Types, and two approaches to problem solving: subproblems and quotient problems