Recursion with Context

Parser Combinators in Ruby

Evaluating the Untyped Lambda Calculus

Implementing A Functional Language Part II: Graph Reduction

Implementing a Functional Language: Parsing Core

Implementing A Functional Language Part I: The Core Language

Implementing a Functional Language: Printing Core

Implementing A Functional Language

About Me

I'm a software developer living in London. Formerly at GoCardless, currently researching subtyping in dependent type theories at Royal Holloway University. I'm interested in language design, building software that goes wrong less often, doing more with less code, and discovering cool patterns in things. I'm harry@hmac.dev, and on GitHub.