A New Means of Ensuring Termination of Deforestation. Student Project 93-8-3 (1993) [1 citations — 1 self]
Abstract:
The deforestation algorithm transforms functional programs which use intermediate data structures into semantically equivalent programs which do not use intermediate data structures. However, the deforestation algorithm is only guaranteed to terminate for treeless programs. The generalizing deforestation algorithm does the same job as the standard deforestation algorithm except that it leaves subterms which are annotated with \Psi untransformed. The problem remains to give the program safe annotations, i.e. annotations ensuring that application of the generalizing deforestation algorithm to the annotated program terminates. We develop a method of finding safe annotations automatically. Given a program, the idea is to calculate a grammar such that (at least) every term that the deforestation algorithm encounters when transforming the program is derivable from the grammar. Whenever the deforestation algorithm loops infinitely, it encounters infinitely many different terms, and whenever the
Citations
| 6 | Compiling Lazy Pattern-Matching – Augustsson - 1985 |
| 4 | Approximating Term Rewriting systems With Tree Grammars. DIKU-report 86/16 – Andersen - 1986 |

