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:
[thumbnail of 1996gillphd.pdf] PDF
Download (5MB)
Printed Thesis Information:


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
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
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


Downloads per month over past year