I am a PhD student at the Computer Laboratory of the University of Cambridge where I have been working on Programming with effect hierarchies under the supervision of Alan Mycroft since October 2013. I am a member of the Programming, Logic, and Semantics Group, the Cambridge Programming Research Group, and Darwin College.

My research interests focus around the design and implementation of programming languages, including their type systems. I am particularly interested in languages which solve problems that larger and evolving software projects face, such as modularity and changing dependencies. To this end, I primarily work with Haskell and other functional programming languages. I am also interested in applying advances in programming languages to other fields, both within and outside of Computer Science.

I completed my BSc (Hons) in Computer Science at the University of Nottingham between September 2010 and October 2013. My dissertation deals with the design and implementation of a Haskell-like language with syntactic sugar for state monads. It was supervised by Graham Hutton. The code for the compiler is freely available on GitHub.

During my time at Nottingham, I wrote a book about automata theory, which eventually became a recommended text for the corresponding module there. It is freely available here.

In my spare time, I enjoy cooking, punting, and video games. I am currently the Admiral of the Punts at Darwin College.

You can find me on various websites, including Twitter, GitHub, Facebook, Google+, and LinkedIn. I am happy to be contacted on any of these if you know me in person. I still help moderate the /r/UoN subreddit, which I founded in 2011.