My research interests are in programming methodology—that is, in better languages for writing computer programs, and better ways of using the languages we already have. I am particularly concerned with functional languages (which emphasize computing with values rather than with actions) and object-oriented languages (which encourage program structures that reflect the structure of the real-world entities they are modelling), and with ways of expressing and reasoning about recurring patterns in software structure. You might be interested in my blog.
I lead the Algebra of Programming research group; I am member of IFIP Working Group 2.1 on Algorithmic Languages and Calculi (and was chair for 6 years, and secretary for 13 years), and of IFIP Working Group 2.11 on Program Generation; and between 2012 and 2018 I was Vice Chair the Past Vice Chair of ACM SIGPLAN. I am co-Editor-in-Chief of the Journal of Functional Programming and Editor of Compositionality: The open-access journal for the mathematics of composition; do consider submitting a paper!
If you would like to study with me, please read this note first.
From 2012 until April 2017 I was Director of the Software Engineering Programme, which offers part-time professional Masters' degrees in Software Engineering and in Software and Systems Security; I still teach on that Programme. For the academic years 2008-2010 I was also Deputy Director of the Computing Laboratory (now the Department of Computer Science), and I served as Chair of the Faculty of Computer Science from 2012 to 2016. I am a fellow of Kellogg College. Before taking up this post in 1999, I held lectureships at Oxford Brookes University and the University of Auckland, New Zealand.
- Programme Committee member
- Programme Committee member
Profunctor Optics‚ a Categorical Update
Bryce Clarke‚ Derek Elkins‚ Jeremy Gibbons‚ Fosco Loregian‚ Bartosz Milewski‚ Emily Pillmore and Mario Román
No. 2001.07488. January, 2020.
Quantitative Information Flow with Monads in Haskell
Jeremy Gibbons‚ Annabelle McIver‚ Carroll Morgan and Tom Schrijvers
In Gilles Barthe‚ Joost−Pieter Katoen and Alexandra Silva, editors, Foundations of Probabilistic Programming. Cambridge University Press. 2020.
Coding with Asymmetric Numeral Systems
In Mathematics of Program Construction. October, 2019.
- Software Engineering
- Clinical Informatics
- Research Informatics
- Functional Programming
- Algebra of Programming
- Information Modelling
- Datatype-Generic Programming
- Choreographing Complex Services
- Generic and Indexed Programming
- Semantic Frameworks
- Evolving Health Informatics
- Unifying Theories of Objects
- Accelerating Cancer Research Using Semantics-Driven Technology
- Reusability and Dependent Types
- Hospital of the Future
- Unifying Theories of Generic Programming
- Bidirectional Transformations