I studied Computer Science at the University of Cambridge (BA, 1997) and Artificial Intelligence at the University of Edinburgh (MSc, 1998). Since then I’ve spent more than a decade in solution architecture and roughly fifteen years before that as a hands‑on software engineer. I care about getting both the theory and the engineering right: strong foundations, clear abstractions, and code that behaves as specified.
I worked with AI long before the current wave of interest, and Eco is my way of demonstrating what that background makes possible today. Eco is a new native compiler for Elm, built with the help of AI coding agents but guided by a deliberate architecture: a hand crafted heap model, a principled runtime, and a pipeline grounded in modern compiler theory. It is a concrete example of using AI as a force multiplier without compromising on correctness or design.
I believe Elm is the best programming language I have used so far, and I would like to see it break new ground. This site and Eco in particular is my contribution towards that goal.
Some of the recurring themes you’ll find here: