Abstract:
Lists are often used as "glue" to connect separate parts of a program together. We propose an automatic technique for improving the efficiency of such programs, by removing many of these intermediate lists, based on a single, simple, local transformation. We have implemented the method in the Glasgow Haskell compiler.
Citations
|
1122
|
Introduction to Functional Programming
– Bird, Wadler
- 1988
|
|
503
|
A transformation system for developing recursive programs
– Burstall, Darlington
- 1977
|
|
385
|
Comprehending monads
– WADLER
- 1992
|
|
345
|
Computational lambda-calculus and monads
– Moggi
- 1989
|
|
114
|
Report on the Functional Programming Language Haskell: a non{strict, purely functional language. Sigplan Notices
– Hudak, Peyton-Jones, et al.
- 1992
|
|
57
|
The design and implementation of programming languages
– Hughes
- 1984
|
|
32
|
Automatic Methods for Program Transformation
– Chin
- 1990
|
|
13
|
The Concatenate Vanishes
– Wadler
- 1987
|
|
7
|
Design and Implementation of a Simple Typed Language Based on the Lambda-Calculus
– Fairbairn
- 1985
|
|
6
|
A short note concerning lazy reduction rules of append
– Sleep, Holmström
- 1982
|
|
5
|
Augustsson [1987], "Compiling lazy functional languages, part II
– unknown authors
- 1987
|
|
5
|
1990], "Deforestation: transforming programs to eliminate trees
– Wadler
|
|
3
|
PL Wadler [1993], "Deforestation for higher-order functions
– Marlow
- 1992
|
|
2
|
Efficient compilation of Haskell array comprehensions
– Anderson, Hudak
- 1989
|
|
2
|
Dec 1978], "A theory of type polymorphism in programming
– Milner
|
|
1
|
PL Wadler [1988], Introduction to Functional Programming
– Bird
|
|
1
|
Oct 1977], "Examples of program optimization
– Burge
|
|
1
|
G Longo [Oct 1991], "A semantic basis for Quest
– Cardelli
|
|
1
|
Sept 1987], "Deforestation: Transformation of functional programs to eliminate intermed-ate trees
– Davis
|
|
1
|
PL Wadler [1988], "When will deforesation stop
– Ferguson
- 1988
|
|
1
|
L Meertens [1992], "FRATS: a parallel reduction strategy for shared memory
– Fokkinga, Meijer, et al.
|
|
1
|
Oct 1984], "A novel representation of lists and its application to the function 'Reverse
– Hughes
|
|
1
|
1993], "The Glasgow Haskell compiler: a technical overview
– Jones
|