Skip to main content

Avoiding Unnecessary Updates

  • Conference paper
Functional Programming, Glasgow 1992

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

Abstract

Graph reduction underlies most implementations of lazy functional languages, allowing separate computations to share results when subterms are evaluated. Once a term is evaluated, the node of the graph representing the computation is updated with the value of the term. However, in many cases, no other computation requires this value, so the update is unnecessary. In this paper we take some steps towards an analysis for determining when these updates may be omitted.

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. Girard, Scedrov, and Scott, Bounded Linear Logic, J of Theoretical Computer Science, 97: 1–66, 1992.

    Google Scholar 

  2. J. Fairbairn and S. Wray, A Simple Lazy Abstract-Machine to Execute Supercombinators, in Proc. FPCA, Portland, pp 34–45, S-V, 1987.

    Google Scholar 

  3. J. Launchbury, A Natural Semantics for Lazy Evaluation, in Proc. ACM SIGPLAN Principles of Programming Languages, Charleston, South Carolina, 1993.

    Google Scholar 

  4. J.-J. Lévy, Optimal Reductions in the Lambda Calculus, in Seldin and Hind-ley eds., To H.B.Curry: Essays in Combinatory Logic, Lambda Calculus and Formalism, pp 159–191, Academic Press, 1980.

    Google Scholar 

  5. S. Peyton Jones, C. Clack, J.Salkild, M. Hardie, GRIP–a high-performance architecture for parallel graph reduction. Proc IFIP conference on Functional Programming Languages and Computer Architecture, Portland. Springer Verlag LNCS 274, pp 98–112, 1987.

    Google Scholar 

  6. S. Peyton Jones, Implementing Lazy Functional Languages on Stock Hardware: the Spineless Tagless G-Machine,Journal of Functional Programming, CUP, 1992, to appear.

    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

Launchbury, J., Gill, A., Hughes, J., Marlow, S., Peyton Jones, S., Wadler, P. (1993). Avoiding Unnecessary Updates. 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_13

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3215-8_13

  • 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