Catamorphism-based program transformations for non-strict functional languages

Németh, László (2000) Catamorphism-based program transformations for non-strict functional languages. PhD thesis, University of Glasgow.

Full text available as:
[img]
Preview
PDF
Download (7MB) | Preview

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: http://theses.gla.ac.uk/id/eprint/4612

Actions (login required)

View Item View Item