In functional languages intermediate data structures are often used as glue to connect separate parts of a program together. Deforestation is the process of automatically removing intermediate data structures. In this thesis we present and analyse a new approach to deforestation. This new approach is both practical and general. We analyse in detail the problem of list removal rather than the more general problem of arbitrary data structure removal. This more limited scope allows a complete evaluation of the pragmatic aspects of using our deforestation technology. We have implemented our list deforestation algorithm in the Glasgow Haskell compiler. Our implementation has allowed practical feedback. One important conclusion is that...
HaRe [?] is a system developed at the University of Kent Computing Laboratory to support refactoring...
Software engineering has to reconcile modularity with efficiency. One way to grapple with this dilem...
We compare transformations for the elimination of intermediate results in rst-order functional pro...
In functional languages intermediate data structures are often used as glue to connect separate par...
In functional languages intermediate data structures are often used as glue to connect separate part...
Functional programming languages are an ideal medium for program optimisations based on source-to-s...
AbstractWadler's deforestation algorithm eliminates intermediate data structures from functional pro...
AbstractAn algorithm that transforms programs to eliminate intermediate trees is presented. The algo...
Lists are often used as "glue" to connect separate parts of a program together. We propose...
We present a simple, automatic transformation — the foldr/build transformation — which successfully ...
In lazy functional programming modularity is often achieved by using intermediate data structures to...
Deforestation optimises a functional program by transforming it into another one that does not creat...
In lazy functional programs a data structure is often used to combine two separate parts of the prog...
Deforestation optimises a functional program by transforming it into another one that does not creat...
In functional programming, intermediate data structures are often used to “glue’) together small pro...
HaRe [?] is a system developed at the University of Kent Computing Laboratory to support refactoring...
Software engineering has to reconcile modularity with efficiency. One way to grapple with this dilem...
We compare transformations for the elimination of intermediate results in rst-order functional pro...
In functional languages intermediate data structures are often used as glue to connect separate par...
In functional languages intermediate data structures are often used as glue to connect separate part...
Functional programming languages are an ideal medium for program optimisations based on source-to-s...
AbstractWadler's deforestation algorithm eliminates intermediate data structures from functional pro...
AbstractAn algorithm that transforms programs to eliminate intermediate trees is presented. The algo...
Lists are often used as "glue" to connect separate parts of a program together. We propose...
We present a simple, automatic transformation — the foldr/build transformation — which successfully ...
In lazy functional programming modularity is often achieved by using intermediate data structures to...
Deforestation optimises a functional program by transforming it into another one that does not creat...
In lazy functional programs a data structure is often used to combine two separate parts of the prog...
Deforestation optimises a functional program by transforming it into another one that does not creat...
In functional programming, intermediate data structures are often used to “glue’) together small pro...
HaRe [?] is a system developed at the University of Kent Computing Laboratory to support refactoring...
Software engineering has to reconcile modularity with efficiency. One way to grapple with this dilem...
We compare transformations for the elimination of intermediate results in rst-order functional pro...