The under-performing unfold: a new approach to optimising corecursive programs

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 coinduc...

Full description

Bibliographic Details
Main Authors: Hackett, Jennifer, Hutton, Graham, Jaskelioff, Mauro
Format: Conference or Workshop Item
Published: 2013
Subjects:
Online Access:https://eprints.nottingham.ac.uk/28183/
_version_ 1848793521097539584
author Hackett, Jennifer
Hutton, Graham
Jaskelioff, Mauro
author_facet Hackett, Jennifer
Hutton, Graham
Jaskelioff, Mauro
author_sort Hackett, Jennifer
building Nottingham Research Data Repository
collection Online Access
description 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.
first_indexed 2025-11-14T19:01:37Z
format Conference or Workshop Item
id nottingham-28183
institution University of Nottingham Malaysia Campus
institution_category Local University
last_indexed 2025-11-14T19:01:37Z
publishDate 2013
recordtype eprints
repository_type Digital Repository
spelling nottingham-281832020-05-04T20:20:18Z https://eprints.nottingham.ac.uk/28183/ The under-performing unfold: a new approach to optimising corecursive programs Hackett, Jennifer Hutton, Graham Jaskelioff, Mauro 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. 2013 Conference or Workshop Item PeerReviewed Hackett, Jennifer, Hutton, Graham and Jaskelioff, Mauro (2013) The under-performing unfold: a new approach to optimising corecursive programs. In: International Symposium on Implementation and Application of Functional Languages (25th), 28-30 Aug 2013, Nijmegen, Netherlands. fusion factorisation coinduction unfolds http://dl.acm.org/citation.cfm?doid=2620678.2620679
spellingShingle fusion
factorisation
coinduction
unfolds
Hackett, Jennifer
Hutton, Graham
Jaskelioff, Mauro
The under-performing unfold: a new approach to optimising corecursive programs
title The under-performing unfold: a new approach to optimising corecursive programs
title_full The under-performing unfold: a new approach to optimising corecursive programs
title_fullStr The under-performing unfold: a new approach to optimising corecursive programs
title_full_unstemmed The under-performing unfold: a new approach to optimising corecursive programs
title_short The under-performing unfold: a new approach to optimising corecursive programs
title_sort under-performing unfold: a new approach to optimising corecursive programs
topic fusion
factorisation
coinduction
unfolds
url https://eprints.nottingham.ac.uk/28183/
https://eprints.nottingham.ac.uk/28183/