I am a Reader in Semantics of Programming Languages and Head of Education in the School of Computer Science, University of Birmingham.

I study programming languages using type systems and semantics, particularly game semantics. The main problem I work on compiling conventional programming languages on unconventional architectures (seamless computing).

Read a fairly accessible introduction to and history of Game Semantics (LICS'09) or a slightly more technical introduction to the Geometry of Synthesis (MEMOCODE'11) or watch a video of the associated talk. I also have a small collection of research talks on Vimeo.


I am a founding co-chair, with Guy McCusker, of the workshop Game Semantics for Logic and Languages (GaLoP).

I have been an invited speaker at LICS 2009, LOLA 2010, MEMOCODE 2011, MPC 2012, TGC 2012, DICE 2014.

I have served on the program committee of TLCA 2009, LICS 2010 and 2014, POPL 2012, FSTTCS 2013, MFPS 2011 and 2013, FOSSACS 2009 and 2013 as well as a number of workshops.