About
Writing Haskell professionally since 2014.
Working with companies from 3 to 1100 people in size to build reliable, debuggable, maintainable software.
Correct by construction, resilient to failure.
I’m Ian Duncan, a full-stack developer living in The Hague. I’ve been writing in Haskell and other functional programming languages professionally since 2014, working with companies from 3 to 1100 people in size to build reliable, debuggable, maintainable software.
I currently work at Mercury, where I spend a lot of time making it easier for our other engineers to write code that is correct by construction, resilient to failure, and easy to work with in production.
Before that, I served as Principal engineer at Forge Global, a private equity marketplace where I helped build a platform for trading private company shares. I worked with engineering executives to plan and execute our merger with SharesPost, helping to integrate our two engineering teams and train Rubyists in how to use Scala.
- Production Patterns for Incremental Temporal Adoption Mercury at Replay 2025 03.2025
The structure of this site, writing that ranges from rough notes to long-lived essays, each marked with a stability level and revised over time, owes a debt to Maggie Appleton and her work on digital gardens.
The visual language, the thin monospace display type, section readouts, and colour-mapped archival imagery, is inspired by the design work at Colossal.
Built with Astro. Set in Archivo and Martian Mono. Each essay carries a public-domain artwork, credited at its end; the section pages draw on Claesz, Kalf, Vermeer, Van Gogh, Mondrian, Stevin, Van Leeuwenhoek and Merian.