- My office is 208 (second floor and on the left) in the Computer Science building.
- Can't pronounce my name? See the Pronunciation and Etymology page.
- Current students: please see my timetable for office hours and lectures.
My research interests are in programming languages. Currently I am particularly interested in:
- Concurrency and parallel programming (manycore and GPU)
- Substructural logics and types for programming languages, such as linear and separation logic and Lambek calculus
- Parsing and regular expressions, particularly in functional style
- C++ templates and polymorphism
I am a member of the Theory group (which include programming language research) at Birmingham and the Academic Centre of Excellence in Cyber Security Research (ACE-CSR).
- parsing and regular expression matching using semantic ideas
- control and concurrency particularly in low-level language close to hardware or OS
- Secure programming and software security, particularly in conjunction with programming language design and technology.
- Abstract machines (in the tradition of Landin's SECD machine)
There is a page with my publications (all online).
If you are interested in studying for a PhD with me, I would be happy to discuss possible PhD topics in Programming Languages and Software Security.
- Principles of Programming Languages 2011/12
- Secure Programming 2011/12
- Software Systems Components 1, 2011/2012
- Compilers and Languages
- PC member of CW2011 - ACM SIGPLAN Continuation Workshop 2011
- PC member of TPDC 2011 - Theory and Practice of Delimited Continuations Workshop
- PC member of LOLA 2010 - Syntax and Semantics of Low Level Languages
- The KAZAM workshop was organized by Olivier Danvy and me.
- Guest editor for the special issue on continuations of the journal Higher-Order and Symbolic Computation (HOSC).
- PC chair of the Fourth Continuation Workshop (CW'04), co-located with POPL'04 in Venice, 17 January 2004.The proceedings is available on-line.
- I was a PC member of The Third ACM SIGPLAN Workshop on Continuations (CW'01)