Cheap deforestation for non-strict functional languages

Gill, Andrew John (1996) Cheap deforestation for non-strict functional languages. PhD thesis, University of Glasgow.

Full text available as:
Download (5MB) | Preview


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 a new analysis is required to infer function arities and the linearity of lambda abstractions. This analysis renders the basic deforestation algorithm far more effective. We give a detailed assessment of our implementation of deforestation. We measure the effectiveness of our deforestation on a suite of real application programs. We also observe the costs of our deforestation algorithm.

Item Type: Thesis (PhD)
Qualification Level: Doctoral
Subjects: Q Science > QA Mathematics > QA75 Electronic computers. Computer science
Colleges/Schools: College of Science and Engineering > School of Computing Science
Funder's Name: UNSPECIFIED
Supervisor's Name: Jones, Simon Peyton and Launchbury, John
Date of Award: 1996
Depositing User: Ms Mary Anne Meyering
Unique ID: glathesis:1996-4817
Copyright: Copyright of this thesis is held by the author.
Date Deposited: 10 Jan 2014 12:15
Last Modified: 10 Jan 2014 12:18

Actions (login required)

View Item View Item