@inproceedings{???,
author = "Zac Garby and Graham Hutton and Patrick Bahr",
title = "{Calculating Compilers Effectively}",
booktitle = "Proceedings of the Haskell Symposium",
location = "Milan, Italy",
month = sep,
year = 2024}
@article{???,
author = "Patrick Bahr and Graham Hutton",
title = "{Beyond Trees: Calculating Graph-Based Compilers}",
journal = "Proceedings of the ACM on Programming Languages",
volume = 8,
number = {ICFP},
articleno = 249,
month = aug,
year = 2024}
@article{???,
author = "Brandon Hewer and Graham Hutton",
title = "{Quotient Haskell: Lightweight Quotient Types For All}",
journal = "Proceedings of the ACM on Programming Languages",
volume = 8,
number = {POPL},
articleno = 27,
month = jan,
year = 2024}
@article{???,
author = "Graham Hutton",
title = "{Programming Language Semantics: It's Easy As 1,2,3}",
journal = "Journal of Functional Programming",
publisher = "Cambridge University Press",
volume = 33,
month = oct,
year = 2023}
@article{???,
author = "Patrick Bahr and Graham Hutton",
title = "{Calculating Compilers for Concurrency}",
journal = "Proceedings of the ACM on Programming Languages",
volume = 7,
number = {ICFP},
articleno = 213,
month = aug,
year = 2023}
@inproceedings{???,
author = "Brandon Hewer and Graham Hutton",
title = "{Subtyping Without Reduction}",
booktitle = "Proceedings of the 14th International Conference on
Mathematics of Program Construction",
location = "Tbilisi, Georgia",
publisher = "Springer",
series = "Lecture Notes in Computer Science",
volume = 13544,
month = sep,
year = 2022}
@article{???,
author = "Patrick Bahr and Graham Hutton",
title = "{Monadic Compiler Calculation}",
journal = "Proceedings of the ACM on Programming Languages",
volume = 6,
number = {ICFP},
articleno = 93,
month = aug,
year = 2022}
@article{???,
author = "Mitchell Pickard and Graham Hutton",
title = "{Calculating Dependently-Typed Compilers}",
journal = "Proceedings of the ACM on Programming Languages",
volume = 5,
number = {ICFP},
articleno = 82,
month = aug,
year = 2021}
@article{???,
author = "Patrick Bahr and Graham Hutton",
title = "{Calculating Correct Compilers II: Return of the Register Machines}",
journal = "Journal of Functional Programming",
publisher = "Cambridge University Press",
volume = 30,
month = aug,
year = 2020}
@article{???,
author = "Martin Handley and Niki Vazou and Graham Hutton",
title = "{Liquidate Your Assets: Reasoning About Resource Usage in Liquid Haskell}",
journal = "Proceedings of the ACM on Programming Languages",
volume = 4,
number = {POPL},
articleno = 24,
month = jan,
year = 2020}
@proceedings{???,
title = "{Proceedings of the 13th International Conference on Mathematics of Program Construction}",
editor = "Graham Hutton",
publisher = "Springer",
series = "Lecture Notes in Computer Science",
volume = 11825,
month = oct,
year = 2019}
@article{???,
author = "Jennifer Hackett and Graham Hutton",
title = "{Call-by-Need Is Clairvoyant Call-by-Value}",
journal = "Proceedings of the ACM on Programming Languages",
volume = 3,
number = {ICFP},
articleno = 114,
month = aug,
year = 2019}
@inproceedings{???,
author = "Niki Vazou and Joachim Breitner and Rose Kunkel and David Van Horn and Graham Hutton",
title = "{Theorem Proving For All: Equational Reasoning in Liquid Haskell}",
booktitle = "Proceedings of the Haskell Symposium",
location = "St. Louis, Missouri",
month = jun,
year = 2018}
@inproceedings{???,
author = "Martin Handley and Graham Hutton",
title = "{AutoBench: Comparing the Time Performance of Haskell Programs}",
booktitle = "Proceedings of the Haskell Symposium",
location = "St. Louis, Missouri",
month = jun,
year = 2018}
@article{???,
author = "Jennifer Hackett and Graham Hutton",
title = "{Parametric Polymorphism and Operational Improvement}",
journal = "Proceedings of the ACM on Programming Languages",
volume = 2,
number = {ICFP},
articleno = 68,
year = 2018}
@inproceedings{???,
author = "Martin Handley and Graham Hutton",
title = "{Improving Haskell}",
booktitle = "Proceedings of the Symposium on Trends in Functional Programming",
location = "Gothenburg, Sweden",
month = mar,
year = 2018}
@article{???,
author = "Graham Hutton and Patrick Bahr",
title = "{Compiling a 50-Year Journey}",
journal = "Journal of Functional Programming",
publisher = "Cambridge University Press",
volume = 27,
month = sep,
year = 2017}
@inproceedings{???,
author = "Jonathan Fowler and Graham Hutton",
title = "{Failing Faster: Overlapping Patterns for Property-Based Testing}",
booktitle = "Proceedings of the 19th International Symposium on Practical Aspects of Declarative Languages",
location = "Paris, France",
month = jan,
year = 2017}
@book{???,
author = "Graham Hutton",
title = "{Programming in Haskell}",
publisher = "Cambridge University Press",
month = sep,
year = 2016}
@inproceedings{???,
author = "Venanzio Capretta and Graham Hutton and Mauro Jaskelioff",
title = "{Contractive Functions on Infinite Data Structures}",
booktitle = "Proceedings of the 28th Symposium on Implementation and
Application of Functional Languages",
location = "Leuven, Belgium",
month = aug,
year = 2016}
@inproceedings{???,
author = "Graham Hutton and Patrick Bahr",
title = "{Cutting Out Continuations}",
booktitle = "A List of Successes That Can Change the World",
series = "Lecture Notes in Computer Science",
volume = 9600,
publisher = "Springer",
year = 2016}
@article{???,
author = "Patrick Bahr and Graham Hutton",
title = "{Calculating Correct Compilers}",
journal = "Journal of Functional Programming",
publisher = "Cambridge University Press",
volume = 25,
month = sep,
year = 2015}
@inproceedings{???,
author = "Jennifer Hackett and Graham Hutton",
title = "{Programs for Cheap!}",
booktitle = "{Proceedings of the Thirtieth Annual ACM/IEEE Symposium on Logic in Computer Science}",
location = "Kyoto, Japan",
year = 2015}
@inproceedings{???,
author = "Jonathan Fowler and Graham Hutton",
title = "{Towards a Theory of Reach}",
booktitle = "{Trends in Functional Programming}",
series = "Lecture Notes in Computer Science",
volume = 9547,
publisher = "Springer",
year = 2016,
editor = "Manuel Serrano and Jurriaan Hage",
note = "Selected papers from the Symposium on Trends in Functional Programming, Sophia Antipolis, France, June 2015."}
@inproceedings{???,
author = "Jennifer Hackett and Graham Hutton",
title = "{Worker/Wrapper/Makes It/Faster}",
booktitle = "{Proceedings of the 19th ACM SIGPLAN International
Conference on Functional Programming}",
location = "Gothenburg, Sweden",
published = "{ACM}",
year = 2014}
@article{???,
author = "Neil Sculthorpe and Graham Hutton",
title = "{Work It, Wrap It, Fix It, Fold It}",
journal = "Journal of Functional Programming",
publisher = "Cambridge University Press",
volume = 24,
number = 1,
pages = "113--127",
month = jan,
year = 2014}
@inproceedings{???,
author = "Jennifer Hackett and Graham Hutton and Mauro Jaskelioff",
title = "{The Under Performing Unfold: A New Approach to Optimising Corecursive Programs}",
booktitle = "{Proceedings of the 25th Symposium on Implementation and Application of Functional Languages}",
location = "Nijmegen, The Netherlands",
published = "{ACM}",
year = 2013}
@inproceedings{???,
author = "Laurence E. Day and Graham Hutton",
title = "{Compilation \`a la Carte}",
booktitle = "{Proceedings of the 25th Symposium on Implementation and Application of Functional Languages}",
location = "Nijmegen, The Netherlands",
published = "{ACM}",
year = 2013}
@unpublished{???,
author = "Graham Hutton and Mauro Jaskelioff",
title = "{Representing Contractive Functions on Streams}",
year = 2011}
@inproceedings{???,
author = "Laurence Day and Graham Hutton",
title = "{Towards Modular Compilers For Effects}",
booktitle = "{Trends in Functional Programming volume 12}",
publisher = "Springer",
series = "Lecture Notes in Computer Science",
volume = 7193,
editor = "Ricardo Pena and Rex Page",
year = 2012,
month = mar,
note = "Selected papers from the 12th International Symposium on Trends in Functional Programming, Madrid, Spain, May 2011."}
@article{???,
author = "Graham Hutton and Mauro Jaskelioff and Andy Gill",
title = "{Factorising Folds for Faster Functions}",
journal = "Journal of Functional Programming Special Issue on Generic Programming",
publisher = "Cambridge University Press",
volume = "20(3\&4)",
pages = "353--373",
year = 2010,
month = jun}
@inproceedings{???,
author = "Liyang Hu and Graham Hutton",
title = "{Compiling Concurrency Correctly: Cutting out the Middle Man}",
booktitle = "{Trends in Functional Programming volume 10}",
publisher = "Intellect",
year = 2010,
editor = "Zoltan Horvath and Viktoria Zsok",
month = sep,
note = "Selected papers from the Tenth Symposium on Trends in Functional Programming, Komarno, Slovakia, June 2009."}
@article{???,
author = "Andy Gill and Graham Hutton",
title = "{The Worker/Wrapper Transformation}",
journal = "Journal of Functional Programming",
publisher = "Cambridge University Press",
volume = 19,
number = 2,
pages = "227--251",
month = mar,
year = 2009}
@inproceedings{???,
author = "Mauro Jaskelioff and Neil Ghani and Graham Hutton",
title = "{Modularity and Implementation of Mathematical Operational Semantics}",
booktitle = "Proceedings of the Workshop on Mathematically Structured Functional Programming",
address = "Reykjavik, Iceland",
month = jul,
year = 2008}
@inproceedings{???,
author = "Liyang Hu and Graham Hutton",
title = "{Towards a Verified Implementation of Software Transactional Memory}",
booktitle = "{Trends in Functional Programming volume 9}",
publisher = "Intellect",
year = 2009,
editor = "Peter Achten and Pieter Koopman and Marco Morazan",
month = jul,
note = "Selected papers from the Ninth Symposium on Trends in Functional Programming, Nijmegen, The Netherlands, May 2008."}
@inproceedings{???,
author = "Graham Hutton and Diana Fulger",
title = "{Reasoning About Effects: Seeing the Wood Through the Trees}",
booktitle = "Proceedings of the Symposium on Trends in Functional Programming",
address = "Nijmegen, The Netherlands",
month = may,
year = 2008}
@article{???,
author = "Graham Hutton and Joel Wright",
title = "{What is the Meaning of These Constant Interruptions?}",
journal = "Journal of Functional Programming",
publisher = "Cambridge University Press",
volume = 17,
number = 6,
pages = "777--792",
month = nov,
year = 2007}
@book{???,
author = "Graham Hutton",
title = "{Programming in Haskell}",
publisher = "Cambridge University Press",
month = jan,
year = 2007}
@inproceedings{???,
author = "Catherine Hope and Graham Hutton",
title = "{Compact Fusion}",
booktitle = "{Proceedings of the Workshop on Mathematically Structured Functional Programming}",
address = "Kuressaare, Estonia",
month = jul,
year = 2006}
@incollection{???,
author = "Graham Hutton and Joel Wright",
title = "{Calculating an Exceptional Machine}",
booktitle = "{Trends in Functional Programming volume 5}",
publisher = "Intellect",
year = 2006,
editor = "Hans-Wolfgang Loidl",
month = feb,
note = "Selected papers from the Fifth Symposium on Trends in Functional Programming, Munich, November 2004."}
@inproceedings{???,
author = "Catherine Hope and Graham Hutton",
title = "{Accurate Step Counting}",
booktitle = "{Implementation and Application of Functional Languages}",
publisher = "Springer Berlin / Heidelberg",
series = "Lecture Notes in Computer Science",
volume = 4015,
year = 2006,
note = "Selected papers from the 17th International Workshop
on Implementation and Application of Functional Languages,
Dublin, Ireland, September 2005"}
@proceedings{???,
title = "{Bulletin of the European Association for Theoretical Computer Science, Report on BCTCS 2005}",
editor = "Graham Hutton",
volume = 86,
pages = "241--256",
year = 2005,
month = jun}
@article{???,
author = "Jeremy Gibbons and Graham Hutton",
title = "{Proof Methods for Corecursive Programs}",
journal = "Fundamenta Informaticae Special Issue on Program Transformation",
publisher = "IOS Press",
volume = 66,
number = 4,
pages = "353-366",
month = "April-May",
year = 2005}
@inproceedings{???,
author = "Graham Hutton and Joel Wright",
title = "{Compiling Exceptions Correctly}",
booktitle = "{Proceedings of the 7th International Conference on Mathematics of Program Construction}",
address = "Stirling, Scotland",
series = "Lecture Notes in Computer Science",
volume = 3125,
publisher = "Springer",
month = jul,
year = 2004}
@proceedings{???,
title = "{Proceedings of the First APPSEM-II Workshop}",
editor = "Graham Hutton",
note = "University of Nottingham",
year = 2003,
month = mar}
@article{???,
author = "Graham Hutton",
title = "{The Countdown Problem}",
journal = "Journal of Functional Programming",
publisher = "Cambridge University Press",
volume = 12,
number = 6,
pages = "609--616",
month=nov,
year = 2002}
@proceedings{???,
title = "{Journal of Functional Programming, Special Double Issue on Haskell}",
editor = "Graham Hutton",
publisher = "Cambridge University Press",
volume = "12(4\&5)",
year = 2002,
month = jul}
@article{???,
author = "{Graham Hutton, editor}",
title = "{Proceedings of the 2000 ACM SIGPLAN Haskell Workshop}",
publisher = "Elsevier Science",
volume = 41,
number = 1,
journal = "Electronic Notes in Theoretical Computer Science",
month = aug,
year = 2001}
@article{???,
author = "Graham Hutton and Jeremy Gibbons",
title = "{The Generic Approximation Lemma}",
journal = "Information Processing Letters",
volume = 79,
number = 4,
publisher = "Elsevier Science",
pages = "197--201",
month = aug,
year = 2001}
@inproceedings{???,
title = "{When is a Function a Fold or an Unfold?}",
author = "Jeremy Gibbons and Graham Hutton and Thorsten Altenkirch",
booktitle = "Proceedings of the 4th International Workshop on Coalgebraic Methods in Computer Science",
series = "Electronic Notes in Theoretical Computer Science",
publisher ="Elsevier Science",
volume = "44.1",
month = apr,
year = 2001}
@inproceedings{???,
author = "Jeremy Gibbons and Graham Hutton",
title = "{Proof Methods for Structured Corecursive Programs}",
booktitle = "Proceedings of the 1st Scottish Functional Programming Workshop",
address = "Stirling, Scotland",
month = aug,
year = 1999}
@article{???,
author = "Graham Hutton",
title = "{A Tutorial on the Universality and Expressiveness of Fold}",
journal = "Journal of Functional Programming",
publisher = "Cambridge University Press",
volume = 9,
number = 4,
pages = "355--372",
month = jul,
year = 1999}
@inproceedings{???,
title = "{Fold and Unfold for Program Semantics}",
author = "Graham Hutton",
booktitle = "{Proceedings of the 3rd ACM SIGPLAN International Conference on Functional Programming}",
address = "Baltimore, Maryland",
month = sep,
year = 1998}
@article{???,
author = "Graham Hutton and Erik Meijer",
title = "{Monadic Parsing in Haskell}",
journal = "Journal of Functional Programming",
publisher = "Cambridge University Press",
volume = 8,
number = 4,
month = jul,
year = 1998,
pages = "437--444"}
@techreport{???,
author = "Graham Hutton and Erik Meijer",
title = "{Monadic Parser Combinators}",
institution = "Department of Computer Science, University of Nottingham",
type = "Technical Report",
number = "NOTTCS-TR-96-4",
year = 1996}
@article{???,
author = "Graham Hutton and Erik Meijer",
title = "{Back to Basics: Deriving Representation Changers Functionally}",
journal = "Journal of Functional Programming",
volume = 6,
number = 1,
pages = "181--188",
publisher = "Cambridge University Press",
month = jan,
year = 1996}
@inproceedings{???,
author = "Erik Meijer and Graham Hutton",
title = "{Bananas in Space: Extending fold and unfold to Exponential Types}",
booktitle = "Proceedings of the 7th SIGPLAN-SIGARCH-WG2.8 International Conference on Functional Programming and Computer Architecture",
publisher = "ACM Press, La Jolla, California",
month = jun,
year = 1995}
@inproceedings{???,
author = "Carolyn Brown and Graham Hutton",
title = "{Categories, Allegories, and Circuit Design}",
booktitle = "Proceedings of the 10th Annual {IEEE} Symposium on Logic in Computer Science",
publisher = "{IEEE} Computer Society Press, Los Alamitos, California",
month = jul,
year = 1994}
@techreport{???,
author = "Graham Hutton",
title = "{The Ruby Interpreter}",
institution = "Chalmers University of Technology",
year = 1993,
type = "Research Report",
number = "72",
month = may}
@inproceedings{???,
author = "Graham Hutton",
title = "{A Relational Derivation of a Functional Program}",
booktitle = "Lecture Notes of the {STOP} Summer School on Constructive Algorithmics",
address = "Ameland, The Netherlands",
year = 1992,
month = sep}
@phdthesis{???,
author = "Graham Hutton",
title = "{Between Functions and Relations in Calculating Programs}",
school = "University of Glasgow",
month = oct,
year = 1992,
note = "Research Report FP-93-5"}
@article{???,
author = "Graham Hutton",
title = "{Higher-order Functions for Parsing}",
journal = "Journal of Functional Programming",
publisher = "Cambridge University Press",
volume = 2,
number = 3,
pages = "323--343",
month = jul,
year = 1992}
@techreport{???,
author = "Graham Hutton and Ed Voermans",
title = "{A Calculational Theory of Pers as Types}",
institution = "University of Glasgow",
year = 1992,
type = "Research Report",
number = "1992/R1",
month = jan}
@inproceedings{???,
author = "Graham Hutton and Ed Voermans",
title = "{Making Functionality More General}",
booktitle = "Proceedings of the 1991 Glasgow Workshop on Functional Programming",
address = "Skye, Scotland",
series = "Springer-Verlag Series of Workshops in Computing",
year = 1992}
@inproceedings{???,
author = "Graham Hutton",
title = "{Functional Programming with Relations}",
booktitle = "Proceedings of the 1990 Glasgow Workshop on Functional Programming",
address = "Ullapool, Scotland",
year = 1991,
series = "Springer-Verlag Series of Workshops in Computing"}
@inproceedings{???,
author = "Graham Hutton",
title = "{Parsing Using Combinators}",
booktitle = "Proceedings of the 1989 Glasgow Workshop on Functional Programming",
address = "Fraserburgh, Scotland",
series = "Springer-Verlag Series of Workshops in Computing",
year = 1990}