Helmut Seidl. Integer Constraints to Stop Deforestation. In Hanne Riis Nielson, editor, Programming Languages and Systems, volume 1058 of Lecture Notes in Computer Science, pages 326-340, Linköping, Sweden, April 1996. Springer.

Deforestation is a transformation of functional programs to remove intermediate data structures. It is based on outermost unfolding of function calls where folding is introduced to avoid repeated unfolding of the same expression. Since unrestricted unfolding may encounter arbitrarily many terms, a termination analysis has to determine those subterms where unfolding is possibly dangerous. We show that such an analysis can be obtained from a control flow analysis by an extension with integer constraints — essentially at no loss in efficiency.

Download: PDF Reference: Bibtex The original publication is available at www.springerlink.com