Jennifer Hackett
The under-performing unfold: a new approach to optimising corecursive programs
Hackett, Jennifer; Hutton, Graham; Jaskelioff, Mauro
Authors
Professor GRAHAM HUTTON GRAHAM.HUTTON@NOTTINGHAM.AC.UK
PROFESSOR OF COMPUTER SCIENCE
Mauro Jaskelioff
Abstract
This paper presents a new approach to optimising corecursive programs by factorisation. In particular, we focus on programs written using the corecursion operator unfold. We use and expand upon the proof techniques of guarded coinduction and unfold fusion, capturing a pattern of generalising coinductive hypotheses by means of abstraction and representation functions. The pattern we observe is simple, has not been observed before, and is widely applicable. We develop a general program factorisation theorem from this pattern, demonstrating its utility with a range of practical examples.
Citation
Hackett, J., Hutton, G., & Jaskelioff, M. The under-performing unfold: a new approach to optimising corecursive programs. Presented at International Symposium on Implementation and Application of Functional Languages (25th)
Conference Name | International Symposium on Implementation and Application of Functional Languages (25th) |
---|---|
End Date | Aug 30, 2013 |
Publication Date | Jan 1, 2013 |
Deposit Date | Feb 26, 2015 |
Publicly Available Date | Feb 26, 2015 |
Peer Reviewed | Peer Reviewed |
Keywords | fusion, factorisation, coinduction, unfolds |
Public URL | https://nottingham-repository.worktribe.com/output/1004333 |
Publisher URL | http://dl.acm.org/citation.cfm?doid=2620678.2620679 |
Additional Information | Published in: IFL '13: proceedings of the 25th Symposium on Implementation and Application of Functional Languages. New York : ACM, 2014, ISBN: 978-1-4503-2988-0. pp. 4321-4332, doi: 10.1145/2620678.2620679 |
Files
underperforming.pdf
(250 Kb)
PDF
You might also like
Calculating Compilers Effectively (Functional Pearl)
(2024)
Presentation / Conference Contribution
Beyond Trees: Calculating Graph-Based Compilers (Functional Pearl)
(2024)
Journal Article
Quotient Haskell: Lightweight Quotient Types for All
(2024)
Journal Article
Programming language semantics: It’s easy as 1,2,3
(2023)
Journal Article
Monadic compiler calculation (functional pearl)
(2022)
Journal Article
Downloadable Citations
About Repository@Nottingham
Administrator e-mail: discovery-access-systems@nottingham.ac.uk
This application uses the following open-source libraries:
SheetJS Community Edition
Apache License Version 2.0 (http://www.apache.org/licenses/)
PDF.js
Apache License Version 2.0 (http://www.apache.org/licenses/)
Font Awesome
SIL OFL 1.1 (http://scripts.sil.org/OFL)
MIT License (http://opensource.org/licenses/mit-license.html)
CC BY 3.0 ( http://creativecommons.org/licenses/by/3.0/)
Powered by Worktribe © 2025
Advanced Search