Inference of polymorphic and conditional strictness properties

We define an inference system for modular strictness analysis of functional programs by extending a conjunctive strictness logic with polymorphic and conditional properties. This extended set of properties is used to define a syntax-directed, polymorphic strictness analysis based on polymorphic recursion whose soundness is established via a translation from the polymorphic system into the conjunctive system. From the polymorphic analysis, an inference algorithm based on constraint resolution is derived and shown complete for variant of the polymorphic analysis. The algorithm deduces at the same time a property and a set of hypotheses on the free variables of an expression which makes it suitable for analysis of program with module structure.

[1]  Alan Mycroft,et al.  Polymorphic Type Schemes and Recursive Definitions , 1984, Symposium on Programming.

[2]  John C. Reynolds,et al.  Automatic computation of data set definitions , 1968, IFIP Congress.

[3]  Chris Hankin,et al.  Lazy Type Inference and Program Analysis , 1995, Sci. Comput. Program..

[4]  Simona Ronchi Della Rocca,et al.  Principal Type Scheme and Unification for Intersection Type Discipline , 1988, Theor. Comput. Sci..

[5]  Fritz Henglein,et al.  Polymorphic Recursion and Subtype Qualifications: Polymorphic Binding-Time Analysis in Polynomial Time , 1995, SAS.

[6]  Thomas P. Jensen Abstract interpretation over algebraic data types , 1994, Proceedings of 1994 IEEE International Conference on Computer Languages (ICCL'94).

[7]  Chris Hankin,et al.  Deriving algorithms from type inference systems: application to strictness analysis , 1994, POPL '94.

[8]  Dale Miller,et al.  From operational semantics to abstract machines , 1992, Mathematical Structures in Computer Science.

[9]  Luís Damas,et al.  Type assignment in programming languages , 1984 .

[10]  Anindya Banerjee A modular, polyvariant and type-based closure analysis , 1997, ICFP '97.

[11]  Alexander Aiken,et al.  Soft typing with conditional types , 1994, POPL '94.

[12]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[13]  Thomas P. Jensen,et al.  Clock analysis of synchronous dataflow programs , 1995, PEPM '95.

[14]  Robin Milner,et al.  Principal type-schemes for functional programs , 1982, POPL '82.

[15]  Nick Benton Strictness Logic and Polymorphic Invariance , 1992, LFCS.

[16]  Daniel Leivant,et al.  Polymorphic type inference , 1983, POPL '83.

[17]  Bruno Monsuez,et al.  Using abstract interpretation to define a strictness type inference system , 1995, PEPM '95.

[18]  Fritz Henglein,et al.  Polymorphic Binding-Time Analysis , 1994, ESOP.

[19]  Thierry Gautier,et al.  Programming real-time applications with SIGNAL , 1991, Proc. IEEE.

[20]  Thomas P. Jensen,et al.  Strictness Analysis in Logical Form , 1991, FPCA.

[21]  Chris Hankin,et al.  Strictness Analysis for Higher-Order Functions , 1986, Sci. Comput. Program..

[22]  Trevor Jim What are principal typings and what are they good for? , 1996, POPL '96.

[23]  Torben Æ. Mogensen,et al.  Tractable Constraints in Finite Semilattices , 1996, Sci. Comput. Program..

[24]  Tsung-Min Kuo,et al.  Strictness analysis: a new perspective based on type inference , 1989, FPCA.

[25]  Paola Giannini,et al.  A Complete Type Inference Algorithm for Simple Intersection Types , 1992, CAAP.

[26]  Chris Hankin,et al.  The theory and practice of strictness analysis for higher order functions , 1985 .

[27]  Thomas P. Jensen,et al.  Disjunctive program analysis for algebraic data types , 1997, TOPL.

[28]  Thomas P. Jensen,et al.  Conjunctive Type Systems and Abstract Interpretation of Higher-Order Functional Programs , 1995, J. Log. Comput..

[29]  Mario Coppo,et al.  Principal type-schemes and lambda-calculus semantics , 1980 .

[30]  Jakob Rehof,et al.  Tractable Constraints in Finite Semilattices , 1996, Sci. Comput. Program..

[31]  Alexander Aiken,et al.  Type inclusion constraints and type inference , 1993, FPCA '93.

[32]  Steffen van Bakel,et al.  Complete Restrictions of the Intersection Type Discipline , 1992, Theor. Comput. Sci..