Functional Programming Lab
 

Image of Graham Hutton

Graham Hutton

Professor of Computer Science, Faculty of Science

Contact

Biography

Graham Hutton is Professor of Computer Science at the University of Nottingham, where he co-leads the Functional Programming Lab. He is an editor of the Journal of Functional Programming, member of IFIP WG 2.1 on Algorithmic Languages and Calculi, and has served as Vice-Chair of the ACM Special Interest Group on Programming Languages and Steering Committee Chair of the International Conference on Functional Programming. His research interests are in developing simple but powerful techniques for writing and reasoning about programs, by recognising and exploiting their underlying mathematical structure. His book Programming in Haskell was published by Cambridge University Press in 2007.

Research Summary

Professor Hutton's interests are in functional programming, with an emphasis on formally-based approaches to program construction and verification. His aim is to develop simple but powerful… read more

Recent Publications

Current Research

Professor Hutton's interests are in functional programming, with an emphasis on formally-based approaches to program construction and verification. His aim is to develop simple but powerful techniques for writing and reasoning about programs, by recognising and exploiting their underlying mathematical structure. His work covers a range of topics in this area, including functional parsing, relational programming, recursion operators, coinductive types, exceptions and interrupts, space and time complexity, concurrent programming, and program optimisation.

  • JENNIFER HACKETT and GRAHAM HUTTON, 2018. Parametric Polymorphism and Operational Improvement In: Proceedings of the 23rd ACM SIGPLAN International Conference on Functional Programming.
  • JONATHAN FOWLER and GRAHAM HUTTON, 2017. Failing Faster: Overlapping Patterns for Property-Based Testing In: Proceedings of the 19th International Symposium on Practical Aspects of Declarative Languages.
  • VENANZIO CAPRETTA, GRAHAM HUTTON and MAURO JASKELIOFF, 2017. Contractive Functions on Infinite Data Structures In: Proceedings of the 28th Symposium on Implementation and Application of Functional Languages.
  • GRAHAM HUTTON and PATRICK BAHR, 2017. Compiling a 50-year journey Journal of Functional Programming. 27,
  • GRAHAM HUTTON and PATRICK BAHR, 2016. Cutting Out Continuations In: WadlerFest, A List of Successes That Can Change the World.
  • GRAHAM HUTTON, 2016. Programming in Haskell 2nd Edition. Cambridge University Press.
  • PATRICK BAHR and GRAHAM HUTTON, 2015. Calculating Correct Compilers Journal of Functional Programming. 25,
  • JENNIFER HACKETT and GRAHAM HUTTON, 2015. Programs for Cheap! In: Proceedings of the Thirtieth Annual ACM/IEEE Symposium on Logic in Computer Science.
  • JONATHAN FOWLER and GRAHAM HUTTON, 2015. Towards a Theory of Reach In: Proceedings of the Symposium on Trends in Functionial Programming.
  • JENNIFER HACKETT and GRAHAM HUTTON, 2014. Worker/Wrapper/Makes It/Faster In: Proceedings of the 19th ACM SIGPLAN International Conference on Functional Programming.
  • NEIL SCULTHORPE and GRAHAM HUTTON, 2014. Work It, Wrap It, Fix It, Fold It Journal of Functional Programming. 24(1), 113-127
  • JENNIFER HACKETT, GRAHAM HUTTON and MAURO JASKELIOFF, 2013. The Under Performing Unfold: A New Approach to Optimising Corecursive Programs In: Proceedings of the 25th Symposium on Implementation and Application of Functional Languages.
  • LAURENCE E. DAY and GRAHAM HUTTON, 2013. Compilation a la Carte In: Proceedings of the 25th Symposium on Implementation and Application of Functional Languages.
  • DAY, L. and HUTTON, G., 2011. Towards modular compilers for effects. In: PEÑA, R. and PAGE, R., eds., Trends in functional programming: 12th International Symposium, TFP 2011, Madrid, Spain, May 16-18, 2011, revised selected papers Springer. 49-64
  • HU, L. and HUTTON, G., 2010. Compiling concurrency correctly: cutting out the middle man. In: HORVATH, Z. and ZSOK, V., eds., Trends in functional programming. Volume 10 Intellect. 17-32
  • HUTTON, G., JASKELIOFF, M. and GILL, A., 2010. Factorising folds for faster functions Journal of Functional Programming. 20(3-4), 353-373
  • GILL, A. and HUTTON, G., 2009. The worker/wrapper transformation Journal of Functional Programming. 19(2), 227-251
  • LIYANG HU and GRAHAM HUTTON, 2009. Towards a Verified Implementation of Software Transactional Memory. In: PETER ACHTEN, PIETER KOOPMAN and MARCO MORAZAN, eds., Trends in Functional Programming Volume 9 Intellect.
  • HUTTON, G. and FULGER, D., 2008. Reasoning about effects: seeing the wood through the trees In: Proceedings of the Symposium on Trends in Functional Programming.
  • MAURO JASKELIOFF, NEIL GHANI and GRAHAM HUTTON, 2008. Modularity and Implementation of Mathematical Operational Semantics In: Proceedings of the Workshop on Mathematically Structured Functional Programming.
  • HUTTON, G. and WRIGHT, J., 2007. What is the meaning of these constant interruptions? Journal of Functional Programming. 17(6), 777-792
  • HUTTON, G., 2007. Programming in Haskell Cambridge University Press.
  • HOPE, C. and HUTTON, G.M., 2006. Accurate Step Counting In: Selected papers from the 17th International Workshop on Implementation and Application of Functional Languages.
  • HOPE, C. and HUTTON, G., 2006. Compact Fusiuon In: Proceedings of the Workshop on Mathematically Structured Functional Programming.
  • GIBBONS, J. and HUTTON, G., 2005. Proof Methods for Corecursive Programs Fundamenta Informaticae: Special Issue on Program Transformation. 66(4), 353-366
  • HUTTON, G.M., 2005. Report on BCTCS 2005
  • HUTTON, G. and WRIGHT, J., 2004. Compiling exceptions correctly. In: KOZEN, D. and SHANKLAND, C., eds., Mathematics of program construction: 7th International Conference, MPC 2004, Stirling, Scotland, UK, July 12-14, 2004 Berlin: Springer. 211-227
  • HUTTON, G.M. and WRIGHT, J., 2004. Calculating an exceptional machine In: Symposium on Trends in Functional Programming (TFP04), Munich, Germany, 25-26 November, 2004. 49-64
  • HUTTON, G., 2002. The countdown problem Journal of Functional Programming. 12(6), 609-616
  • HUTTON, G. and GIBBONS, J., 2001. The Generic Approximation Lemma Information Processing Letters. 79(4), 197-201
  • GIBBONS, J., HUTTON, G.M. and ALTENKIRCH, T., 2001. When is a Function a Fold or an Unfold? In: Proceedings of the 4th International Workshop on Coalgebraic Methods in Computer Science.
  • GIBBONS, J. and HUTTON, G.M., 1999. 1st Scottish Functional Programming Workshop In: Proof Methods for Structured Corecursive Programs.
  • HUTTON, G., 1999. A tutorial on the universality and expressiveness of fold Journal of Functional Programming. VOL 9(NUMBER 4), 355-372
  • HUTTON, G.M., 1998. Fold and Unfold for Program Semantics In: Proceedings of the 3rd ACM SIGPLAN.
  • HUTTON, G. and MEIJER, E., 1998. Monadic parsing in Haskell Journal of Functional Programming. VOL 8(NUMBER 4), 437-444
  • HUTTON, G.M., 1996. Monadic Parser Combinators University of Nottingham, Nottingham.
  • HUTTON, G. and MEIJER, E., 1996. Back to basics: Deriving representation changers functionally Journal of Functional Programming. VOL 6(NUMBER 1), 181-188
  • HUTTON, G.M., 1995. Review of "An Introduction to HOL" Journal of Functional Programming. 4((4)), 557-559
  • HUTTON, G.M., 1995. Bananas in Space: Extending Fold and Unfold Exponential Types In: Proceedings of the 7th SIGPLAN-Sigarch-WG2.8 International Conference on Functional Programming and Computer Architecture.
  • HUTTON, G.M. and BROWN, C., 1994. Categories, allegories and circuit design In: Proceedings of the 10th Annual IEEE symposium on Logic in Computer Science.
  • HUTTON, G.M., 1993. The Ruby Interpreter (72)
  • HUTTON, G.M., 1992. Higher-order Functions for Parsing Journal of Functional Programming. 2((3)), 323-343
  • HUTTON, G.M., 1992. Between Functions and Relations in Calculating Programs University of Glasgow, Glasgow, UK. (FP-93-5)
  • HUTTON, G.M., 1992. A Calculational Theory of Pers as Types University of Glasgow, Glasgow, UK. (R1)
  • HUTTON, G.M., 1992. A Relational Derivation of a Functional Program In: STOP Summer School on Constructive Algorithmics.
  • HUTTON, G.M., 1992. A Relational Derivation of a Functional Program In: STOP Summer School on Constructive Algorithmics.
  • HUTTON, G.M., 1992. Making Functionality More General In: Proceedings of the 1991 Glasgow Workshop on Functional Programming.
  • HUTTON, G.M., 1991. Functional Programming With Relations In: Proceedings of the 1990 Glasgow Workshop on Functional Programming.

Functional Programming Lab

The University of Nottingham
School of Computer Science
Jubilee Campus
Nottingham, NG7 1BB


telephone: +44 (0) 115 95 14220
email:fp-lunch@cs.nott.ac.uk