Strictness and binding-time analyses: two for the price of one

Binding-time analysis has received increased att ention in the literature recently due to its importance in partial evaluation. This mimics the growth in int crest over the last decade in strictness analysis, due to its implications for code quality of compiled lazy functional languages. In this paper we eXamine both analyses in a common framework, and demonstrate that they are equivalent. As a pract ical consequence of the equivalence, we show how Hughes’ work on polymorphic strictness analysis carries over to binding-time analysis.

[1]  John C. Reynolds,et al.  Towards a theory of type structure , 1974, Symposium on Programming.

[2]  Valentin F. Turchin,et al.  The concept of a supercompiler , 1986, TOPL.

[3]  Andre Scedrov,et al.  Semantic parametricity in polymorphic lambda calculus , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[4]  Philip Wadler,et al.  Projections for strictness analysis , 1987, FPCA.

[5]  Neil D. Jones,et al.  Mix: A self-applicable partial evaluator for experiments in compiler generation , 1989, LISP Symb. Comput..

[6]  Carl A. Gunter,et al.  Semantic Domains , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[7]  Geoffrey L. Burn A relationship between abstract interpretation and projection analysis , 1989, POPL '90.

[8]  Peter Sestoft,et al.  The structure of a self-applicable partial evaluator , 1985, Programs as Data Objects.

[9]  Andre Scedrov,et al.  Functorial Polymorphism , 1990, Theor. Comput. Sci..

[10]  Philip Wadler,et al.  Theorems for free! , 1989, FPCA.

[11]  Philip Wadler,et al.  How to make ad-hoc polymorphism less ad hoc , 1989, POPL '89.

[12]  Peter Sestoft,et al.  An experiment in partial evaluation: the generation of a compiler generator , 1985, SIGP.

[13]  John Hughes Projections for Polymorphic Strictness Analysis , 1989, Category Theory and Computer Science.

[14]  John Launchbury,et al.  Projection factorisations in partial evaluation , 1991 .

[15]  Chris Hankin,et al.  Abstract Interpretation of Declarative Languages , 1987 .

[16]  Gérard Huet,et al.  Logical Foundations of Functional Programming , 1990 .

[17]  S. A. Romanenko,et al.  A compiler generator produced by a self-applicable specializer can have a surprisingly natural and u , 1988 .