I am an assistant professor in computer science at the University of Sussex.
Until September 2024 I was a post-doc with
Sam Staton at the University of Oxford.
Previously I was a post-doc at the University of Edinburgh working with
Ohad Kammar
as part of the grant
Effectful theories of programming languages:
models, abstractions, validation.
Before that I was a PhD student under
Marcelo Fiore
at the University of Cambridge.
Research interests
I am a theoretical computer scientist interested in category theory and its applications to the foundations of programming language theory. My work has two common themes: (1) using ideas from logic to study the structure of programming languages; (2) using ideas from algebra to study the relationships between denotational models, and hence better understand common techniques in semantics. In particular, my interests include:
- Categorical semantics of programming languages, especially semantic models that contain extra information over traditional models (e.g. 2-dimensional models) and the algebraic foundations of techniques such as logical relations.
- Categorical universal algebra, including multi-ary semantic models such as clones and multicategories.
- Higher-dimensional categories: their internal languages, proofs of coherence,
and applications to rewriting theory and proof theory.
Teaching
At Sussex I teach the following modules:
-
Programming Concepts (first year)
-
Design and Analysis of Algorithms (second year, jointly)
-
Topics in Computer Science (master's, jointly)
I am generally interested in supervising projects on topics around theoretical computer science, especially around algorithms or programming languages -- feel free to email me if you are interested!
Where to find me
My office is Chichester 2R304. To get there:
-
Start from the stairs near the vending machine outside Chichester 1 lecture theatre.
-
Go all the way to the top, turn left and then follow the winding corridor through three blue doors.
-
When you come out onto a corridor, my office is first on the right (it has my names on the door).
-
You can also take the lift but note that it only goes up to the penultimate floor!
If you have any issues reaching / finding the office let me know and we can organise another location.
Some teaching from before I started at Sussex
-
In 2022 I co-supervised (with Sam Staton) Lili Janzer's MSc thesis, titled Category-theoretic syntactic models of
programming languages. A copy is available here. In 2023 I co-supervised (with Sam Staton) Nayan Rajesh's MSc thesis, available here.
-
In 2021-22 I was TA for the Principles of Programming Languages course.
-
As a PhD student I supervised (small-group teaching) the following courses: Discrete Maths, Logic and Proof, Types, Denotational Semantics.