Use this URL to cite or link to this record in EThOS: | https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.343914 |
![]() |
|||||||
Title: | Catamorphism-based program transformations for non-strict functional languages | ||||||
Author: | Németh, László |
ISNI:
0000 0001 3444 8805
|
|||||
Awarding Body: | University of Glasgow | ||||||
Current Institution: | University of Glasgow | ||||||
Date of Award: | 2000 | ||||||
Availability of Full Text: |
|
||||||
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.
|
|||||||
Supervisor: | Not available | Sponsor: | Not available | ||||
Qualification Name: | Thesis (Ph.D.) | Qualification Level: | Doctoral | ||||
EThOS ID: | uk.bl.ethos.343914 | DOI: | Not available | ||||
Keywords: | QA75 Electronic computers. Computer science | ||||||
Share: |