Towards Leakage Containment

Functional programs are organized into procedures, each encapsulating a speci c task. A procedure should not cause its callers to repeat its work. This forced repetition of work we call leakage. In this paper we describe several common instances of leakage, and show how they can be eliminated using an extension of continuation-passing style.