Skip to main content

Strictness analysis in logical form

  • Conference paper
  • First Online:
Book cover Functional Programming Languages and Computer Architecture (FPCA 1991)

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

Abstract

This paper presents a framework for comparing two strictness analysis techniques: Abstract interpretation and non-standard type inference. The comparison is based on the representation of a lattice by its ideals. A formal system for deducing inclusions between ideals of a lattice is presented and proved sound and complete. Viewing the ideals as strictness properties we use the formal system to define a program logic for deducing strictness properties of expressions in a typed lambda calculus. This strictness logic is shown to be sound and complete with respect to the abstract interpretation, which establishes the main result that strictness analysis by type-inference and by abstract interpretation are equally powerful techniques.

This work was partially supported by ESPRIT grant BRA 3124 SEMANTIQUE

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. Abramsky. Domain theory in logical form. Journal of Pure and Applied Logic, 1990.

    Google Scholar 

  2. S. Abramsky and C. Hankin. Abstract Interpretation of Declarative Languages. Ellis Horwood, 1987.

    Google Scholar 

  3. G.L. Burn. Abstract Interpretation and the Parallel Evaluation of Functional Languages. PhD thesis, Imperial College, University of London, 1987.

    Google Scholar 

  4. G.L. Burn, C.L. Hankin, and S. Abramsky. The theory and practice of strictness analysis for higher order functions. Science of Computer Programming, 7:249–278, 1986.

    Google Scholar 

  5. B.A. Davey and H.A. Priestley. Introduction to Lattices and Order. Cambridge University Press, 1990.

    Google Scholar 

  6. C. K. Gomard. Partial type inference for untyped functional programs. In Lisp and Functional Programming '90, pages 282–287. ACM, 1990.

    Google Scholar 

  7. S. Hunt and C. Hankin. Fixed points and frontiers: A new perspective. Journal of Functional Programming, 1(1), 1991.

    Google Scholar 

  8. S. Hunt and D. Sands. Binding time analysis: A new PERspective. In Proc. ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, 1991.

    Google Scholar 

  9. P. T. Jonstone. Stone Spaces, volume 3 of Cambridge Studies in Advanced Mathematics. Cambridge University Press, Cambridge, 1982.

    Google Scholar 

  10. N. Jones, C. Gomard, A. Bondorf, O. Danvy, and T. Mogensen. A self-applicable partial evaluator for the lambda calculus. In International Conference on Computer Languages. IEEE Computer Society, 1990.

    Google Scholar 

  11. T-M Kuo and P. Mishra. Strictness analysis: A new perspective based on type inference. In Proc. 4th. Int. Conf. on Functional Programming and Computer Architecture. ACM Press, 1989.

    Google Scholar 

  12. A. Mycroft. Abstract Interpretation and Optimising Transformation for Applicative Programs. PhD thesis, Univ. of Edinburgh, 1981.

    Google Scholar 

  13. P. Wadler. Is there a use for linear logic? In Proc. ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

John Hughes

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jensen, T.P. (1991). Strictness analysis in logical form. In: Hughes, J. (eds) Functional Programming Languages and Computer Architecture. FPCA 1991. Lecture Notes in Computer Science, vol 523. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3540543961_17

Download citation

  • DOI: https://doi.org/10.1007/3540543961_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54396-1

  • Online ISBN: 978-3-540-47599-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics