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 re...
Abstract. We study various shortcut fusion rules for languages like Haskell. Following a careful sem...
Fusion is one of the most important code transformations as it has the potential to substantially op...
In this thesis we present and analyse a set of automatic source-to-source program transformations th...
In functional languages intermediate data structures are often used as glue to connect separate par...
There are a number of approaches for eliminating intermediate data structures in functional programs...
There are a number of approaches for eliminating intermediate data structures in functional programs...
We propose a new algorithm for fusion transformation that allows both stacks and accumulating parame...
In functional programming, small programs are often glued together to construct a complex program. P...
Short-cut fusion is a program transformation technique that uses a single local transformation - cal...
Fusion is the process of removing intermediate data structures from modularly constructed functional...
Abstract. Functional programs often combine separate parts of the program using intermediate data st...
Stratego is a domain-specific language for the specification of program transfor- mation systems. ...
Functional programs often combine separate parts of the program using intermediate data structures f...
. The paper shows how term rewriting techniques can be used to automatically transform first-order f...
Functional programs often combine separate parts using interme-diate data structures for communicati...
Abstract. We study various shortcut fusion rules for languages like Haskell. Following a careful sem...
Fusion is one of the most important code transformations as it has the potential to substantially op...
In this thesis we present and analyse a set of automatic source-to-source program transformations th...
In functional languages intermediate data structures are often used as glue to connect separate par...
There are a number of approaches for eliminating intermediate data structures in functional programs...
There are a number of approaches for eliminating intermediate data structures in functional programs...
We propose a new algorithm for fusion transformation that allows both stacks and accumulating parame...
In functional programming, small programs are often glued together to construct a complex program. P...
Short-cut fusion is a program transformation technique that uses a single local transformation - cal...
Fusion is the process of removing intermediate data structures from modularly constructed functional...
Abstract. Functional programs often combine separate parts of the program using intermediate data st...
Stratego is a domain-specific language for the specification of program transfor- mation systems. ...
Functional programs often combine separate parts of the program using intermediate data structures f...
. The paper shows how term rewriting techniques can be used to automatically transform first-order f...
Functional programs often combine separate parts using interme-diate data structures for communicati...
Abstract. We study various shortcut fusion rules for languages like Haskell. Following a careful sem...
Fusion is one of the most important code transformations as it has the potential to substantially op...
In this thesis we present and analyse a set of automatic source-to-source program transformations th...