JavaScript is disabled for your browser. Some features of this site may not work without it.
A uniform treatment of order of evaluation and aggregate update
Draghicescu, M.; Purushothaman, S.
1993-09-27
Citation:Draghicescu, M., Purushothaman, S. (1993/09/27)."A uniform treatment of order of evaluation and aggregate update." Theoretical Computer Science 118(2): 231-262. <http://hdl.handle.net/2027.42/30571>
Abstract: 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 choosing appropriately 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 by looking at the marker of its value. We then define an equivalent denotational semantics and derive the above analyses, in a uniform way, by abstract interpretation over a subdomain of P(M[perpendicular]).