Projection-based Termination Analysis

Termination analysis is genuinely useful for enabling optimisation in state-of-the-art compilers for lazy functional languages. Termination analysis techniques are typically restricted to determining termination in evaluation to weak head normal form; our projection-based technique gives much more detailed information, such as the fact that evaluation of an entire list or the entire spine of a list is certain to terminate, and hence gives the potential for much better compile-time optimisation.

[1]  John Hughes,et al.  Functional Programming, Proceedings of the 1989 Glasgow Workshop, 21-23 August 1989, Fraserburgh, Scotland, UK , 1990, Functional Programming.

[2]  Hugh Glaser,et al.  On the Beneets of Diierent Analyses in the Compilation of a Lazy Functional Language , 1991 .

[3]  Alan Mycroft,et al.  Abstract interpretation and optimising transformations for applicative programs , 1982 .

[4]  Philip Wadler,et al.  Strictness Analysis in 4D , 1990, Functional Programming.

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

[6]  Julian Seward Solving recursive domain equations by term rewriting , 1993, Functional Programming.

[7]  Jonathan Hood Young,et al.  The theory and practice of semantic program analysis for higher-order functional programming languages , 1989 .

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

[9]  Hugh Glaser,et al.  On the benefits of different analyses in the compilation of functional languages , 1991 .

[10]  Samson Abramsky,et al.  Introduction to Abstract Interpretation , 1987 .

[11]  Kei Davis,et al.  Higher-order binding-time analysis , 1993, PEPM '93.

[12]  John Hughes,et al.  Projections for polymorphic first-order strictness analysis , 1992, Mathematical Structures in Computer Science.

[13]  Sebastian Hunt,et al.  Frontiers and open sets in abstract interpretation , 1989, FPCA.

[14]  Patrick Cousot,et al.  Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation , 1992, PLILP.