About

I am a Graduate Engineer at Arm, I previously achieved an MSc in Computer Science and Mathematics from the University of Bath.

Interests

I’m especially interested in compilers, language design, functional programming, proof assistants, and category theory.

I have experience with Rust, Python, Swift, Haskell, C amongst others. I’ve worked as a web developer, compiler engineer, and app developer. I’ve studies mostly logic and semantics of programming languages and formal proofs.

Projects:

Technical Labs

In 2020 as a student Joe Cryer and I wrote and published an educational series of sessions and notes called Technical Labs. This was for BCSS and the University of Bath computer science department. It aims to teach some fundamental technical computer science skills. More details can be found here and the videos can be found here.

Incorectness Logic in Lean

For my masters dissertation I formalised the Incorectness Logic results initiated by O’Hearne. I used the lean theorem prover and managed to prove the soundness and completeness results. This work was done with my supervisor Guy McCusker who I remain extremely grateful for.

More projects

For my degree I have worked on Lambda calculus reducers, compilers, interpreters, and more. They are not available publicly as I don’t publish coursework solutions for obvious reasons.

A small list of other dubious quality and unmaintained projects can be found here here.