Németh, László (2000) Catamorphism-based program transformations for non-strict functional languages. PhD thesis, University of Glasgow.
Full text available as:
PDF
Download (7MB) |
Abstract
In functional languages intermediate data structures are often used as glue to connect
separate parts of a program together. These intermediate data structures are useful because
they allow modularity, but they are also a cause of inefficiency: each element need to be
allocated, to be examined, and to be deallocated.
Warm fusion is a program transformation technique which aims to eliminate intermediate
data structures. Functions in a program are first transformed into the so called build-cata
form, then fused via a one-step rewrite rule, the cata-build rule. In the process of the
transformation to build-cata form we attempt to replace explicit recursion with a fixed
pattern of recursion (catamorphism).
We analyse in detail the problem of removing - possibly mutually recursive sets of -
polynomial datatypes.
Wehave implemented the warm fusion method in the Glasgow Haskell Compiler, which has
allowed practical feedback. One important conclusion is that catamorphisms and fusion
in general deserve a more prominent role in the compilation process. We give a detailed
measurement of our implementation on a suite of real application programs.
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: | Peyton-Jones, Prof. S. |
Date of Award: | 2000 |
Depositing User: | Mrs Marie Cairney |
Unique ID: | glathesis:2000-4612 |
Copyright: | Copyright of this thesis is held by the author. |
Date Deposited: | 03 Oct 2013 11:03 |
Last Modified: | 03 Oct 2013 11:59 |
URI: | https://theses.gla.ac.uk/id/eprint/4612 |
Actions (login required)
View Item |
Downloads
Downloads per month over past year