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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Barbanera, F., Dezani-Ciancaglini, M., de’Liguoro, U.: Intersection and union types: Syntax and semantics. Inform. Comp. 119(2), 202–230 (1995)
Cousot, P., Cousot, R.: Static determination of dynamic properties of programs. In: Proceedings of the Second International Symposium on Programming, pp. 106–130 (1976)
Damiani, F.: Non-standard type inference for functional programs. PhD thesis, Università di Torino (1998)
Gentzen, G.: Untersuchungen über das logische Schiließen, I, II. Math. Zeitschr. 39, 176–210, 405–431 (1934)
Hankin, C., Métayer, D.L.: Lazy type inference and program analysis. Science of Computer Programming 25(2–3), 219–249 (1995)
Hannan, J., Miller, D.: From operational semantics for abstract machines. Mathematical Structures in Computer Science 2(4), 415–459 (1992)
Jensen, T.P.: Strictness analysis in logical form. In: Hughes, J. (ed.) FPCA 1991. LNCS, vol. 523, pp. 352–366. Springer, Heidelberg (1991)
Jensen, T.P.: Abstract Interpretation in Logical Form. PhD thesis, the Imerial College (1992)
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)
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)
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)
Nielson, F., Nielson, H., Hankin, C.: Principles of Program Analysis. Springer, Heidelberg (1999)
Rosendahl, M.: Higher-order chaotic iteration sequences. In: Penjam, J., Bruynooghe, M. (eds.) PLILP 1993. LNCS, vol. 714, pp. 332–345. Springer, Heidelberg (1993)
Seldin, J.P.: A gentzen-style sequent calculus of constructions with expansion rules. Theor. Comput. Sci. 243(1-2), 199–215 (2000)
Tiuryn, J.: A sequent calculus for subtyping polymorphism. Inform. Comp. 164(2), 345–369 (2001)
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)
Wang, H.: Proving theorems by pattern recognition I. Commun. ACM 3(4), 220–234 (1960)
Yokouchi, H.: Completeness of type assignment systems with intersection, union, and type quantifiers. Theor. Comput. Sci. 272(1-2), 341–398 (2002)
Author information
Authors and Affiliations
Editor information
Rights 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)