A compositional analysis of evaluation-order and its application

  • Authors:
  • M. Draghicescu;S. Purushothaman

  • Affiliations:
  • Computer Science Department, The Pennsylvania State University, University Park, PA;Computer Science Department, The Pennsylvania State University, University Park, PA

  • Venue:
  • LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
  • Year:
  • 1990

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a compositional definition of the order of evaluation of variables in a lazy first-order functional language. Unlike other published work, our analysis applies to all evaluation strategies which may use strictness information to change the normal (lazy) order of evaluation. At the same time it can be adapted to pure lazy evaluation yielding a sharper analysis in this case. It can also be adapted to take advantage of any information about the order in which primitive functions evaluate their arguments. The time complexity of the method is that of strictness analysis.We also present a compositional definition of the set of variables which denote locations where the result of an expression might be stored. This analysis yields a simple solution to the aliasing problem.Using these two analyses we develop a new algorithm for the destructive update problem.