Skip to main content

On strictness and totality

  • Invited Talk 2
  • Conference paper
  • First Online:
Theoretical Aspects of Computer Software (TACS 1997)

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

Included in the following conference series:

Abstract

In this paper we present a revised and extended version of the strictness and totality type assignment system introduced by Solberg, Nielson and Nielson in the Static Analysis Symposium '94. Our main result is that (w.r.t. the possibility of replacing safely a lazy application by a strict one) the strictness and totality information given by this system is equivalent to the information given by two separate systems: one for strictness, and one for totality. This result is interesting from both a theoretical (understanding of the relations between strictness and totality) and a practical (more efficient checking and inference algorithms) point of view. Moreover we prove that both the system for strictness and the system for totality have a sound and complete inclusion relation between types w.r.t. the semantics induced by the term model of a language including a convergence to weak head normal form test at higher types.

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. Abstract interpretation, logical relations and Kan extensions. Journal of Logic and Computation, 1(1):5–39, 1990.

    Google Scholar 

  2. P. N. Benton. Strictness Analysis of Lazy Functional Programs. PhD thesis. University of Cambridge, Pembroke College, 1992.

    Google Scholar 

  3. G. L. Burn, C. Hankin, and S. Abramsky. Strictness Analysis for Higher-Order Functions. Science of Computer Programming, 7:249–278, 1986.

    Google Scholar 

  4. M. Coppo, F. Damiani, and P. Giannini. Refinement Types for Program Analysis. In SAS'96, LNCS 1145, pages 143–158. Springer, 1996.

    Google Scholar 

  5. M. Coppo and A. Ferrari. Type inference, abstract interpretation and srictness analysis. Theoretical Computer Science, 121:113–145, 1993.

    Google Scholar 

  6. D. Dussart and F. Henglein and C. Mossin. Polymorphic Recursion and Subtype Qualifications: Polymorphic Binding-Time Analysis in Polynomial Time. In SAS'95, LNCS 983, pages 118–135. Springer, 1995.

    Google Scholar 

  7. F. Damiani and P. Giannini. An Inference Algorithm for Strictness. In TLCA'97, LNCS 1210, pages 129–146. Springer, 1997.

    Google Scholar 

  8. C. Hankin and D. Le Métayer. Deriving algorithms for type inference systems: Applications to strictness analysis. In POPL'94, pages 202–212. ACM, 1994.

    Google Scholar 

  9. T. P. Jensen. Abstract Interpretation in Logical Form. PhD thesis, University of London, Imperial College, 1992.

    Google Scholar 

  10. G. Kahn. Natural semantics. In K. Fuchi and M. Nivat, editors, Programming Of Future Generation Computer. Elsevier Sciences B.V. (North-Holland), 1988.

    Google Scholar 

  11. T. M. Kuo and P. Mishra. Strictness analysis: a new perspective based on type inference. In Functional Programming Languages and Computer Architecture, pages 260–272. ACM, 1989.

    Google Scholar 

  12. A. Mycroft. The theory and practice of transforming call-by-need into call-byvalue. In International Symposium on Programming, LNCS 83, pages 269–281. Springer, 1980.

    Google Scholar 

  13. A. Mycroft. Abstract Interpretation and Optimizing Transforming for Applicative programs. PhD thesis, University of Edinburgh, Scotland, 1981.

    Google Scholar 

  14. A. M. Pitts. Operationally-based theories of program equivalence. In A. M. Pitts and P. Dybjer, editors, Semantics and Logics of Computation, pages 241–298. Cambridge University Press, 1997.

    Google Scholar 

  15. K. L. Solberg. Annotated Type Systems for Program Analysis. PhD thesis, Aarhus University, Denmark, 1995. Revised version.

    Google Scholar 

  16. K. L. Solberg.Strictness and Totality Analysis with Conjunction. In TAPSOFT'95, LNCS 915, pages 501–515. Springer, I995.

    Google Scholar 

  17. K. L. Solberg, H. R. Nielson, and F. Nielson. Strictness and Totality Analysis. Science of Computer Programming. To appear.

    Google Scholar 

  18. K. L. Solberg, H. R. Nielson, and F. Nielson. Strictness and Totality Analysis. In SAS'94, LNCS 864, pages 408–422. Springer, 1994.

    Google Scholar 

  19. D. A. Wright. Reduction Types and Intensionality in the Lambda-Calculus. PhD thesis, University of Tasmania, 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Martín Abadi Takayasu Ito

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Coppo, M., Damiani, F., Giannini, P. (1997). On strictness and totality. In: Abadi, M., Ito, T. (eds) Theoretical Aspects of Computer Software. TACS 1997. Lecture Notes in Computer Science, vol 1281. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014550

Download citation

  • DOI: https://doi.org/10.1007/BFb0014550

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63388-4

  • Online ISBN: 978-3-540-69530-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics