Gill, Andrew John (1996) Cheap deforestation for non-strict functional languages. PhD thesis, University of Glasgow.
Full text available as:
PDF
Download (5MB) |
Abstract
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 |
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 |
URI: | https://theses.gla.ac.uk/id/eprint/4817 |
Actions (login required)
View Item |
Downloads
Downloads per month over past year