Factorising Folds for Faster Functions
with Graham Hutton and Andy Gill. JFP 2010PDFPDF (ext. version)
Abstract
The worker/wrapper transformation is a general technique for improving the performance of recursive programs by changing their types. The previous formalisation (Gill & Hutton,2009) was based upon a simple fixed point semantics of recursion. In this article we develop a more structured approach, based upon initial algebra semantics. In particular, we show how the worker/wrapper transformation can be applied to programs defined using the structured pattern of recursion captured by fold operators, and illustrate our new technique with a number of examples.
BibTeX
@article{F5,
Author = {Graham Hutton and Mauro Jaskelioff and Andy Gill},
Journal = {Journal of Functional Programming},
Number = {Special Issue 3-4},
Pages = {353-373},
Title = {Factorising folds for faster functions},
Volume = {20},
Year = {2010}}