@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}