I am a Teaching Fellow in the Department of Computing at Imperial where I coordinate the Second-Year of the UG programme. My interests include functional programming, parsing, and compiler writing. I predominantly program in Scala and Haskell, though mostly the former these days.
I am involved in both lab support and lecturing at Imperial.
containers.
Since Autumn 2025, I teach the practical side of the course, managing
the weekly exercises and teaching practical concepts such as containers,
applicative parsing, and benchmarking performance. From 2025, I started
writing the yearly Haskell interim and final tests, taking over from
Tony Field.
I enjoy doing open-source work for both the Scala and Haskell communities, including the following libraries:
parsley (owner):
a modern parser combinator library for Scala; evolution of my Master's thesis.
gigaparsec (owner):
a reimagining of the parsley API in Haskell.
parsley-cats (owner):
cats support for parsley.
dill (owner):
interactive debugger for parsley. Developed as part of a
Software Engineering Group Project at Imperial written with a Rust backend and Scala frontend.
sbt-typelevel (maintainer):
SBT plugin to remove boilerplate from configuration of Scala libraries.
I also maintain sites and tools here at Imperial. Some of the more public efforts are:
Last updated: Dec '25