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 then Past Vice Chair of ACM SIGPLAN. I am co-Editor-in-Chief of the Journal of Functional Programming, and an Editor of The Programming Journal: The Art, Science, and Engineering of Programming and 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.
Oxford-centric bio: 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.
Bio for talks etc: Jeremy Gibbons is Professor of Computing at the University of Oxford, where he leads the Algebra of Programming research group, and teaches on the part-time professional postgraduate master’s programme in Software Engineering. His research interests are in programming languages, especially functional programming and patterns in programming. He is Editor-in-Chief of the Journal of Functional Programming, and a member of IFIP Working Group 2.1 on Algorithmic Languages and Calculi, and of IFIP Working Group 2.11 on Program Generation.
- Programme Committee member
- Programme Committee member
Continuation−Passing Style‚ Defunctionalization‚ Accumulations‚ and Associativity
In The Art‚ Science‚ and Engineering of Programming. 2021.
How to Design Co−Programs
In Journal of Functional Programming. Vol. 31. No. e15. 2021.
Algorithm Design with Haskell
Richard Bird and Jeremy Gibbons
Cambridge University Press. July, 2020.
- 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