Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

An Extensional Characterization of Lambda-Lifting and Lambda-Dropping

  • Conference paper
Functional and Logic Programming (FLOPS 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1722))

Included in the following conference series:

Abstract

Lambda-lifting and lambda-dropping respectively transform a block-structured functional program into recursive equations and vice versa. Lambda-lifting was developed in the early 80’s, whereas lambda-dropping is more recent. Both are split into an analysis and a transformation. Published work, however, has only concentrated on the analysis parts. We focus here on the transformation parts and more precisely on their correctness, which appears never to have been proven. To this end, we define extensional versions of lambda-lifting and lambda-dropping and establish their correctness with respect to a least fixed-point semantics.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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.

Similar content being viewed by others

References

  1. Bondorf, A.: Similix manual, system version 3.0. Technical Report 91/9, DIKU, Computer Science Department, University of Copenhagen, Copenhagen, Denmark (1991)

    Google Scholar 

  2. Clinger, W., Hansen, L.T.: Lambda, the ultimate label, or a simple optimizing compiler for Scheme. In: Talcott, C.L. (ed.) Proceedings of the 1994 ACM Conference on Lisp and Functional Programming, LISP Pointers, Orlando, Florida, vol. VII(3), pp. 128–139. ACM Press, New York (1994)

    Chapter  Google Scholar 

  3. Conse, C.: A tour of Schism: A partial evaluation system for higher-order applicative languages. In: Schmidt, D.A. (ed.) Proceedings of the Second ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, Copenhagen, Denmark, pp. 145–154. ACM Press, New York (1993)

    Google Scholar 

  4. Danvy, O., Schultz, U.P.: Lambda-dropping: transforming recursive equations into programs with block structure. In: Consel, C. (ed.) Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, Amsterdam, The Netherlands, pp. 90–106. ACM Press, New York (1997); Extended version available as the technical report BRICS-RS-97-6

    Chapter  Google Scholar 

  5. Hughes, J.: Super combinators: A new implementation method for applicative languages. In: Friedman, D.P., Wise, D.S. (eds.) Conference Record of the 1982 ACM Symposium on Lisp and Functional Programming, Pittsburgh, Pennsylvania, pp. 1–10. ACM Press, New York (1982)

    Chapter  Google Scholar 

  6. Johnsson, T.: Lambda lifting: Transforming programs to recursive equations. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, pp. 190–203. Springer, Heidelberg (1985)

    Google Scholar 

  7. Meijer, E.: Down with lambda-lifting. Unpublished note (April 1992)

    Google Scholar 

  8. Jones, S.P., Partain, W., Santos, A.: Let-floating: moving bind-ings to give faster programs. In: Kent Dybvig, R. (ed.) Proceedings of the 1996 ACM SIGPLAN International Conference on Functional Programming, pp. 1–12. ACM Press, New York (1996)

    Chapter  Google Scholar 

  9. Jones, S.L.P.: The Implementation of Functional Programming Languages. Prentice Hall International Series in Computer Science. Prentice-Hall International, Englewood Cliffs (1987)

    MATH  Google Scholar 

  10. Schultz, U.P.: Implicit and explicit aspects of scope and block structure. Master’s thesis, DAIMI, Department of Computer Science, University of Aarhus, Aarhus, Denmark (June 1997)

    Google Scholar 

  11. Winskel, G.: The Formal Semantics of Programming Languages. Foundation of Computing Series. The MIT Press, Cambridge (1993)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Danvy, O. (1999). An Extensional Characterization of Lambda-Lifting and Lambda-Dropping. In: Middeldorp, A., Sato, T. (eds) Functional and Logic Programming. FLOPS 1999. Lecture Notes in Computer Science, vol 1722. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10705424_16

Download citation

  • DOI: https://doi.org/10.1007/10705424_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66677-6

  • Online ISBN: 978-3-540-47950-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics