Skip to main content

Deforestation for Higher-Order Functions

  • Conference paper
Functional Programming, Glasgow 1992

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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 )

    Google Scholar 

  2. R.M.Burstall and J.Darlington, A Transformation System for Developing Recusrive Programs, Journal of the ACM 24 (1) (1977) 44–67

    Article  MathSciNet  MATH  Google Scholar 

  3. W.N.Chin, Automatic Methods for Program Transformation, PhD Thesis, University of London, March 1990.

    Google Scholar 

  4. L.Damas and R.Milner, Principle type schemes for functional programs, Proceedings of the ACM Symposium on Principles of Programming Languages 1982.

    Google Scholar 

  5. N.G.DeBruijn, Lambda Calculus Notation with Nameless Dummies, Inagationes Mathematicae, vol. 34, pp 381–392.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. J.-Y Girard, Linear Logic, Theoretical Computer Science 50 (1), 1–102, 1987.

    Article  MathSciNet  MATH  Google Scholar 

  8. 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.

    Google Scholar 

  9. R.Hindley, The principal type scheme of an object in combinatory logic, Transactions of the American Mathematics Society 146 29–60.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. R.Milner, A theory of type polymorphism in programming, in Journal of Computing System Science 17 1978 348–375.

    Article  MathSciNet  MATH  Google Scholar 

  12. Simon L Peyton Jones The Implementation of Funtional Programming Languages Prentice Hall, Englewood Cliffs, NJ, 1987.

    Google Scholar 

  13. Philip Wadler, Deforestation: Transforming Programs To Eliminate Trees, European Symposium on Programming, Nancy, France, Lecture Notes in Computer Science 300 Springer, Berlin, 1988.

    Google Scholar 

  14. Philip Wadler, Deforestation: Transforming Programs To Eliminate Trees Theoretical Computer Science 73 1990 231–248.

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics