The under-performing unfold: a new approach to optimising corecursive programs
Hackett, Jennifer and 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.
Official URL: http://dl.acm.org/citation.cfm?doid=2620678.2620679
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.
Actions (Archive Staff Only)