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