A uniform treatment of order of evaluation and aggregate update (Q685390)
From MaRDI portal
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | A uniform treatment of order of evaluation and aggregate update |
scientific article |
Statements
A uniform treatment of order of evaluation and aggregate update (English)
0 references
28 October 1993
0 references
The article presents an algorithm for the destructive update optimization in first-order lazy functional languages. The main component of the method is a new static analysis of the order of evaluation of expressions which, compared to other published work, has a much lower complexity and is not restricted to pure lazy evaluation. The other component, which we call reduction to variables, is a method of detecting the variables which denote locations where the result of an expression might be stored. Starting with the operational semantics of the language, we introduce some markers for the values in the basic domain. By appropriately choosing the set of markers \(M\) and the method of propagating them during evaluation, we can extract some property of the evaluation in which an expression can participate in by looking at the marker of its value. We define then an equivalent denotational semantics and derive the above analyses, in an uniform way, by abstract interpretation over a subdomain of \(P(M_ \perp)\).
0 references
abstract interpretation
0 references
destructive update
0 references
functional languages
0 references
denotational semantics
0 references