Short-cut fusion is a program transformation technique that uses a single local transformation - called the foldr build rule - to remove certain intermediate lists from modularly constructed functional programs. Arguments that short-cut fusion is correct typical appeal either to intuition or to "free theorems" - even though the latter have not been known to hold for the languages supporting higher-order polymorphic functions and fixed point recursion in which short-cut fusion is usually applied. In this paper we use Pitts' recent demonstration that contextual equivalence in such languages is relationally parametric to prove that programs in them which have undergone short-cut fusion are contextually equivalent to their unfused counterparts....
There are a number of approaches for eliminating intermediate data structures in functional programs...
Abstract. Functional programs often combine separate parts of the program using intermediate data st...
Deforestation optimises a functional program by transforming it into another one that does not creat...
Fusion is the process of removing intermediate data structures from modularly constructed functional...
Monads are commonplace programming devices that are used to uniformly structure computations;in part...
Abstract: Short cut fusion improves the efficiency of modularly constructed programs by eliminating ...
Shortcut fusion is a well-known optimization technique for functional programs. Its aim is to transf...
In functional programming it is common practice to build modular programs by composing functions whe...
There are a number of approaches for eliminating intermediate data structures in functional programs...
In functional programming it is common practice to build modular programs by composing functions whe...
In functional languages intermediate data structures are often used as glue to connect separate par...
In functional languages intermediate data structures are often used as glue to connect separate part...
Free theorems feature prominently in the field of program transformation for pure functional languag...
Functional programs often combine separate parts using intermediate data structures for communicatin...
There are many advantages to writing functional programs in a compositional style, such as clarity a...
There are a number of approaches for eliminating intermediate data structures in functional programs...
Abstract. Functional programs often combine separate parts of the program using intermediate data st...
Deforestation optimises a functional program by transforming it into another one that does not creat...
Fusion is the process of removing intermediate data structures from modularly constructed functional...
Monads are commonplace programming devices that are used to uniformly structure computations;in part...
Abstract: Short cut fusion improves the efficiency of modularly constructed programs by eliminating ...
Shortcut fusion is a well-known optimization technique for functional programs. Its aim is to transf...
In functional programming it is common practice to build modular programs by composing functions whe...
There are a number of approaches for eliminating intermediate data structures in functional programs...
In functional programming it is common practice to build modular programs by composing functions whe...
In functional languages intermediate data structures are often used as glue to connect separate par...
In functional languages intermediate data structures are often used as glue to connect separate part...
Free theorems feature prominently in the field of program transformation for pure functional languag...
Functional programs often combine separate parts using intermediate data structures for communicatin...
There are many advantages to writing functional programs in a compositional style, such as clarity a...
There are a number of approaches for eliminating intermediate data structures in functional programs...
Abstract. Functional programs often combine separate parts of the program using intermediate data st...
Deforestation optimises a functional program by transforming it into another one that does not creat...