Abstract
Deforestation is an automatic transformation scheme for functional programs which attempts to remove unnecessary intermediate data structures. The algorithm presented here is a variant of the original, adapted for a higher order language. A detailed description of how this may be implemented in an optimising compiler is also given.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
L.Augustsson, Compiling pattern matching, Proc. Conf on Functional Programming languages and Computer Architecture, Nancy, France, Lecture Notes in Computer Science 201 ( Springer, Berlin, 1985 )
R.M.Burstall and J.Darlington, A Transformation System for Developing Recusrive Programs, Journal of the ACM 24 (1) (1977) 44–67
W.N.Chin, Automatic Methods for Program Transformation, PhD Thesis, University of London, March 1990.
L.Damas and R.Milner, Principle type schemes for functional programs, Proceedings of the ACM Symposium on Principles of Programming Languages 1982.
N.G.DeBruijn, Lambda Calculus Notation with Nameless Dummies, Inagationes Mathematicae, vol. 34, pp 381–392.
A.B.Ferguson and P.L.Wadler, When will deforestation stop? Procedings of the Glasgow Workshop on Functional Programming, Rothesay, Isle of Bute, August 1988, Research Report 89/R4, Department of Computing Science, University of Glasgow, 1989.
J.-Y Girard, Linear Logic, Theoretical Computer Science 50 (1), 1–102, 1987.
G.W.Hamilton and S.B.Jones, Extending deforestation for First Order Functional Programs, Functional Programming, Glasgow 1991 R.Heldal, C.Kehler Holst, P.Wadler (Eds), Springer-Verlag, Workshops in Computing Science, 1991.
R.Hindley, The principal type scheme of an object in combinatory logic, Transactions of the American Mathematics Society 146 29–60.
P.Hudak, S.L.Peyton Jones, P.Wadler (Eds) Report on the Programming Language Haskell, Version 1.2, ACM SIGPLAN Notices, 27(5), May 1992.
R.Milner, A theory of type polymorphism in programming, in Journal of Computing System Science 17 1978 348–375.
Simon L Peyton Jones The Implementation of Funtional Programming Languages Prentice Hall, Englewood Cliffs, NJ, 1987.
Philip Wadler, Deforestation: Transforming Programs To Eliminate Trees, European Symposium on Programming, Nancy, France, Lecture Notes in Computer Science 300 Springer, Berlin, 1988.
Philip Wadler, Deforestation: Transforming Programs To Eliminate Trees Theoretical Computer Science 73 1990 231–248.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1993 British Computer Society
About this paper
Cite this paper
Marlow, S., Wadler, P. (1993). Deforestation for Higher-Order Functions. In: Launchbury, J., Sansom, P. (eds) Functional Programming, Glasgow 1992. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3215-8_14
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3215-8_14
Publisher Name: Springer, London
Print ISBN: 978-3-540-19820-8
Online ISBN: 978-1-4471-3215-8
eBook Packages: Springer Book Archive