Abstract
Wadler's deforestation algorithm removes intermediate data structures from functional programs. To be appropriate for inclusion in a compiler, deforestation must terminate on all programs. Several techniques exist to ensure termination of deforestation on all first-order programs, but a technique for higher-order programs was only recently introduced by Hamilton and later Marlow. We present a new technique for ensuring termination of deforestation on all higher-order programs that allows useful transformation steps prohibited in Hamilton's and Marlow's techniques. The technique uses a constraint-based higher-order control-flow analysis.
Original language | English |
---|---|
Pages (from-to) | 400-413 |
Number of pages | 14 |
Journal | Conference Record of the Annual ACM Symposium on Principles of Programming Languages |
DOIs | |
State | Published - 1997 |
Externally published | Yes |
Event | Proceedings of the 1997 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'97 - Paris, Fr Duration: 15 Jan 1997 → 17 Jan 1997 |