Skip to main content

Strictness Analysis Algorithms Based on an Inequality System for Lazy Types

  • Conference paper
  • 352 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4989))

Abstract

This paper deals with type-based analysis of functional programs. In particular we focus on strictness analysis using nonstandard type systems using a special kind of type called lazy type. We propose an inequality system for lazy types, from which two algorithms for strictness analysis are extracted. The key idea is elimination of the transitive law from the inequality system. The algorithms have been implemented. We report experimental results on performance of our algorithms.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Barbanera, F., Dezani-Ciancaglini, M., de’Liguoro, U.: Intersection and union types: Syntax and semantics. Inform. Comp. 119(2), 202–230 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  2. Cousot, P., Cousot, R.: Static determination of dynamic properties of programs. In: Proceedings of the Second International Symposium on Programming, pp. 106–130 (1976)

    Google Scholar 

  3. Damiani, F.: Non-standard type inference for functional programs. PhD thesis, Università di Torino (1998)

    Google Scholar 

  4. Gentzen, G.: Untersuchungen über das logische Schiließen, I, II. Math. Zeitschr. 39, 176–210, 405–431 (1934)

    Google Scholar 

  5. Hankin, C., Métayer, D.L.: Lazy type inference and program analysis. Science of Computer Programming 25(2–3), 219–249 (1995)

    Article  MathSciNet  Google Scholar 

  6. Hannan, J., Miller, D.: From operational semantics for abstract machines. Mathematical Structures in Computer Science 2(4), 415–459 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  7. Jensen, T.P.: Strictness analysis in logical form. In: Hughes, J. (ed.) FPCA 1991. LNCS, vol. 523, pp. 352–366. Springer, Heidelberg (1991)

    Google Scholar 

  8. Jensen, T.P.: Abstract Interpretation in Logical Form. PhD thesis, the Imerial College (1992)

    Google Scholar 

  9. Jensen, T.P.: Inference of polymorphic and conditional strictness properties. In: POPL 1998: 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 209–221 (1998)

    Google Scholar 

  10. Kfoury, A.J., Wells, J.B.: Principality and decidable type inference for finite-rank intersection types. In: POPL 1999: 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 161–174 (1999)

    Google Scholar 

  11. Kuo, T.M., Mishra, P.: Strictness analysis: a new perspective based on type inference. In: FPCA 1989: the Fourth International Conference on Functional Programming Languages and Computer Architecture, pp. 260–272 (1989)

    Google Scholar 

  12. Nielson, F., Nielson, H., Hankin, C.: Principles of Program Analysis. Springer, Heidelberg (1999)

    MATH  Google Scholar 

  13. Rosendahl, M.: Higher-order chaotic iteration sequences. In: Penjam, J., Bruynooghe, M. (eds.) PLILP 1993. LNCS, vol. 714, pp. 332–345. Springer, Heidelberg (1993)

    Google Scholar 

  14. Seldin, J.P.: A gentzen-style sequent calculus of constructions with expansion rules. Theor. Comput. Sci. 243(1-2), 199–215 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  15. Tiuryn, J.: A sequent calculus for subtyping polymorphism. Inform. Comp. 164(2), 345–369 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  16. Wadler, P.: Strictness analysis on non-flat domains (by abstract interpretation). In: Abramsky, S., Hankin, C. (eds.) Abstract Interpretation of Declarative Languages, pp. 266–275. Ellis-Horwood (1987)

    Google Scholar 

  17. Wang, H.: Proving theorems by pattern recognition I. Commun. ACM 3(4), 220–234 (1960)

    Article  MATH  Google Scholar 

  18. Yokouchi, H.: Completeness of type assignment systems with intersection, union, and type quantifiers. Theor. Comput. Sci. 272(1-2), 341–398 (2002)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jacques Garrigue Manuel V. Hermenegildo

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Yokouchi, H. (2008). Strictness Analysis Algorithms Based on an Inequality System for Lazy Types. In: Garrigue, J., Hermenegildo, M.V. (eds) Functional and Logic Programming. FLOPS 2008. Lecture Notes in Computer Science, vol 4989. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78969-7_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-78969-7_19

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-78968-0

  • Online ISBN: 978-3-540-78969-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics