@article{WorkerWrapper08,
author = {Andy Gill and Graham Hutton},
title = {The worker/wrapper transformation},
abstract = {The worker/wrapper transformation is a technique for changing the type of a computation, usually with the aim of improving its performance. It has been used by compiler writers for many years, but the technique is little-known in the wider functional programming community, and has never been described precisely. In this article we explain, formalise, and explore the generality of the worker/wrapper transformation. We also provide a systematic recipe for its use as an equational reasoning technique for improving the performance of programs, and illustrate the power of this recipe using a range of examples.},
journal = {Journal of Functional Programming},
publisher = {Cambridge University Press},
volume = {19},
number = {2},
pages = {227--251},
month = {March},
year = {2009}
}