The worker/wrapper transformation is a technique for transforming a computation of one type into a worker of a different type, together with a wrapper that acts as an impedance matcher between the original and new computations. The technique can be used to improve the performance of functional programs by improving the choice of data structures used.
This web page is a central repository for people using or wanting to understand the worker/wrapper transformation.
This paper introduces the Worker/Wrapper Theorem and the Worker/Wrapper Fusion Rule (see right sidebar) and applies the theorem to four examples.
This paper introduces the Worker/Wrapper Transformation using the application area of using strictness analysis to allow call-by-value in a non-strict language.
The Worker/Wrapper Transformation is surprisingly general! In has been applied to the following application areas.
We expect there are many others.
These pages are stored as a darcs repo. Feel free to email editor@workerwrapper.com with changes or darcs patches. The darcs repo can be downloading using
$ darcs get http://www.workerwrapper.com