## The Evaluation Transformer Model of Reduction and Its Correctness (1991)

Venue: | in TAPSOFT 91 |

Citations: | 11 - 4 self |

### BibTeX

@INPROCEEDINGS{Burn91theevaluation,

author = {G. L. Burn},

title = {The Evaluation Transformer Model of Reduction and Its Correctness},

booktitle = {in TAPSOFT 91},

year = {1991},

pages = {458--482},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

Lazy evaluation of functional programs incurs time and memory overheads, and restricts parallelism compared with programs that are evaluated strictly. A number of analysis techniques, such as abstract interpretation and projection analysis, have been developed to find out information that can alleviate these overheads. This paper formalises an evaluation model, the evaluation transformer model of reduction, which can use information from these analysis techniques, and proves that the resulting reduction strategies produce the same answers as those obtained using lazy evaluation.

### Citations

536 |
The Implementation of Functional Programming Languages
- Jones
- 1987
(Show Context)
Citation Context ...del has been proved correct. The theory developed so far has not taken into account the fact that most implementations of lazy functional languages use some form of graph reduction [Wad71, Chapter 4],=-=[Pey87]-=-. In graph reduction, expressions are represented as graphs. When an application is reduced, repeated copies of a variable in the term being substituted for are replaced by pointers to a single copy o... |

397 |
LCF considered as a programming language
- Plotkin
- 1977
(Show Context)
Citation Context ... if and only if the leftmost reduction strategy fails to terminate. This is the crucial theorem in relating the operational and denotational semantics ofsT , and is an extension of the result for PCF =-=[Plo77]-=- (Section 6); ffl evaluators are formalised as reduction strategies associated with particular Scottclosed sets; the evaluation of an expression with a particular evaluator fails to terminate if and o... |

239 | The lazy lambda calculus - Abramsky - 1990 |

169 |
The category-theoretic solution of recursive domain equations
- Smyth, Plotkin
- 1982
(Show Context)
Citation Context ...ype �� , then the standard interpretation of list �� is obtained by solving the recursive domain isomorphism: list S �� �� = 1 + S �� \Theta (list S �� ) over the category of d=-=omains in the usual way [SP82]. The solution of th-=-is isomorphism can be represented informally by: S (list ��) = f? S (list ��) g [ fnilg [ fcons u lju 2 S �� ; l 2 S (list ��) g with the ordering: ? S (list ��) v l; 8l 2 S (list ... |

99 |
An overview of miranda
- Turner
- 1986
(Show Context)
Citation Context ...mal form (HNF). Suppose that the data type list has been declared as 2 : list * ::= Nil --- Cons * (list *) and the function length defined by: 2 All example code fragments will be written in Miranda =-=[Tur86]-=-. Miranda is a trademark of Research Software Ltd. length Nil = 0 length (Cons h t) = 1 + (length t) To evaluate an application of length, the whole of the structure of the argument list will need to ... |

96 | Projections for Strictness Analysis
- Wadler, Hughes
- 1987
(Show Context)
Citation Context ...gy. We need to adapt the results to a model which uses evaluation transformer information. A second way in which we need to develop our theory is to use the results available from projection analysis =-=[WH87]-=-. A projection is an idempotent function which is at most defined as the identity function. In [Bur90], we showed how evaluation transformers could be determined from the results of projection analysi... |

91 | Abstract Interpretation and Optimising Transformations for Applicative Programs - MYCROFT - 1981 |

75 | The theory and practice of transforming call-by-need into call-by-value - Mycroft - 1980 |

53 | Strictness analysis on non-flat domains (by abstract interpretation over finite domains
- Wadler
- 1987
(Show Context)
Citation Context ...ist ��) = ? S (list ��) F ? S (list ��) = ? S (list ��) T nil = nil F nil = nil T (cons u l) = T l F (cons u l) = ( ? S (list ��) if u = ? S�� F l otherwise This abstract domai=-=n is due to Phil Wadler [Wad87]-=-. Abstract interpretations of the constants insT using these abstract domains, and satisfying the constant safety condition, can be found in Figure 9. The abstract interpretation of functions defined ... |

46 |
Lazy Functional Languages: Abstract Interpretation and Compilation
- Burn
- 1991
(Show Context)
Citation Context ...transformers in compiling code for sequential and parallel machines is extensively discussed in [Bur90, Bur91b]. The results of this paper are discussed at much greater length in a book by the author =-=[Bur91b]-=-. 2 The Evaluation Transformer Model of Reduction 2.1 Evaluators We know that in some function applications, the argument will need more reduction than just to head normal form (HNF). Suppose that the... |

42 | The Lazy Lambda Calculus: An Investigation into the Foundations of Functional Programming - Ong - 1988 |

35 |
The Lambda Calculus, volume 103
- Barendregt
- 1984
(Show Context)
Citation Context ...i-rules given in Figure 4, the notion of reduction !! fi ffi has the Church-Rosser property. Proof The proof of this theorem follows from a theorem due to Mitschke [Mit76] (cited as Theorem 15.3.3 of =-=[Bar84]-=-) which gives sufficient conditions for a typed -calculus with constants to be Church-Rosser. See [Bur91b, Theorem 2.1.11]. 2 The practical importance of this theorem for implementations of lazy funct... |

33 | Strictness analysis --- a practical approach - Clack, Jones - 1985 |

29 | Evaluation transformers - a model for the parallel evaluation of functional languages - Burn - 1987 |

22 |
Abstract Interpretation and the Parallel Evaluation of Functional Languages
- Burn
- 1987
(Show Context)
Citation Context ...m if and only if one exists, that is, produce the same answer as lazy evaluation. Evaluation transformers were first discussed in [Bur87a, Bur87b], and the abstract interpretation framework we use in =-=[Bur87b]-=-. As well as presenting these results, this paper presents the foundations on which they are built, giving a complete overview of the work. In summary, the paper covers: ffl an informal introduction t... |

15 | Using projection analysis in compiling lazy functional programs
- Burn
- 1990
(Show Context)
Citation Context ...ay in which we need to develop our theory is to use the results available from projection analysis [WH87]. A projection is an idempotent function which is at most defined as the identity function. In =-=[Bur90]-=-, we showed how evaluation transformers could be determined from the results of projection analysis, but the development was not as rigorous as that contained in this paper. The key problem is that so... |

15 | Finding fixed points in finite lattices - Martin, Hankin - 1987 |

14 | Fully abstract models of the lazy lambda calculus - Ong - 1988 |

13 | Frontiers and open sets in abstract interpretation - Hunt - 1989 |

9 | A safe approach to parallel combinator reduction - Hankin, Burn, et al. - 1988 |

8 | Implementing the, evaluation transformer model of reduction on parallel machines - Burn - 1991 |

3 |
Standard and normal reductions
- Hindley
- 1978
(Show Context)
Citation Context ...ith fi ffi-reduction, F ` is guaranteed to terminate with a HNF of a term if one exists. Proof The proof of this theorem is quite difficult, and relies on an adaptation of some results due to Hindley =-=[Hin78]-=-. See [Bur91b, Theorem 2.1.14]. 2 The practical importance of this theorem is that it gives an algorithm for choosing the next redex that must be reduced in order to obtain an answer from a program af... |

3 |
Dynamic Aspects of Distributed Graph Reduction
- Partridge
- 1991
(Show Context)
Citation Context ...tegy than a speculative one because there are no useless processes which have to be garbage collected. A complete specification of an abstract machine employing speculative evaluation can be found in =-=[Par91]-=-. An evaluator captures the intuitive notion of doing a certain amount of evaluation to an expression. The important property of an evaluator is the way it divides the expressions of a type into two c... |

2 | Semantics and Pragmatics of the Lambda-Calculus, D.Phil - WADSWORTH - 1971 |

1 |
kalkul, ffi-konversion und axiomatische rekursionstheorie
- Mitschke
- 1976
(Show Context)
Citation Context ...eorem) For the languagesT and the ffi-rules given in Figure 4, the notion of reduction !! fi ffi has the Church-Rosser property. Proof The proof of this theorem follows from a theorem due to Mitschke =-=[Mit76]-=- (cited as Theorem 15.3.3 of [Bar84]) which gives sufficient conditions for a typed -calculus with constants to be Church-Rosser. See [Bur91b, Theorem 2.1.11]. 2 The practical importance of this theor... |