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 transparently compiling conventional programming languages on unconventional architectures (seamless computing). I am a member of the Theory Research Group.

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.

If you are interest, our research group has PhD studentships available. Apply online. It's helpful to drop me an email to let me know you are interested.

If you are planning to visit me please read this page with directions and travel information.


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 am PC Chair for Mathematical Foundations of Programming Semantics XXXI.

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.