Skip to main content

Backwards Strictness Analysis: Proved and Improved

  • Conference paper
Functional Programming

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

Abstract

Given a syntax tree representing an expression, and some information regarding that expression, a backwards analysis will involve propagating the information (with appropriate transformation) towards the leaves of the tree, to yield information about the subexpressions. Here, the information at the root will describe the required definedness of the value of the expression, with the results of the analysis describing the definedness of the values lower in the tree sufficient or necessary to meet the condition at the root. In Projections for Strictness Analysis [1], such an analysis is described in which the information at each node is encoded by a special kind of function called a projection, with the results of the analysis revealing strictness information about the expression. This paper describes a more general and powerful technique, and provides proofs that both techniques meet a corresponding generalisation of the safety condition described in [1].

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. Wadler, P., and Hughes, R.J.M., 1987. Projections for Strictness Analysis. Report 35, Programming Methodology Group, Department of Computer Sciences, Chalmers University of Technology and University of Göteborg, Göteborg, Sweden.

    Google Scholar 

  2. Stoy, Joseph E: Denotation al Semantics: The Scott-Strachey Approach to Programming Language Theory. The MIT Press, Cambridge, Massachusetts, 1977.

    Google Scholar 

  3. Davis, K. “Trading accuracy for efficiency in forwards strictness analysis.” Unpublished manuscript, 1989.

    Google Scholar 

  4. Hughes, R.J.M. “Strictness detection in non-flat domains.” In Proceedings of the Workshop on Programs a Data Objects (Copenhagen). H. Ganzinger and N. Jones, eds. LNCS 217. Springer-Verlag, Berlin, 1985

    Google Scholar 

  5. Hughes, R.J.M. Backwards Analysis of Functional Programs. Departmental Research Report CSC/87/R3, Department of Computing Science, University of Glasgow, 1987.

    Google Scholar 

  6. Hughes, R.J.M. “Analysing strictness by abstract interpretation of continuations.” Chapter 4 of Abramsky, S. and Hankin, C. (eds.). Abstract Interpretation of Declarative Languages. Ellis-Horwood, 1987.

    Google Scholar 

  7. Hughes, R.J.M. “Compile-time analysis of functional programs.” In Proc. Year of Programming Summer School on Declarative Programming, (Austin, Texas), 1987, David Turner (ed.), Addison-Wesley 1989.

    Google Scholar 

  8. Hughes, R.J.M. “Projections for polymorphic strictness analysis.” 1989.

    Google Scholar 

  9. Hughes, R.J.M. and Ferguson, A. “An iterative powerdomain construction.” In Draft Proceedings of the 1989 Glasgow Workshop on Functional Programming (Fraserburgh, Scotland). 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1990 British Computer Society

About this paper

Cite this paper

Davis, K., Wadler, P. (1990). Backwards Strictness Analysis: Proved and Improved. In: Davis, K., Hughes, J. (eds) Functional Programming. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3166-3_2

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3166-3_2

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19609-9

  • Online ISBN: 978-1-4471-3166-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics