The equivalence of sequential and associate information structure models

  • Authors:
  • Clement McGowan;Peter Wegner

  • Affiliations:
  • Brown University;Brown University

  • Venue:
  • ACM SIGPLAN Notices
  • Year:
  • 1971

Quantified Score

Hi-index 0.00

Visualization

Abstract

Interpreters for programming languages may be defined in terms of the information structures (data structures) generated during program execution. This paper develops a class of proof techniques for proving equivalence between two classes of programming language interpreters referred to as associative interpreters and sequential interpreters. The relation between associative and sequential interpreters is briefly illustrated first for arithmetic expression evaluation and then for lambda calculus evaluation, and the strategy for proving equivalence is briefly described. The proof technique is worked out in detail both for arithmetic expression evaluation and for lambda calculus evaluation. The relatively trivial case of arithmetic expression evaluation is considered in detail in order to illustrate the basic structure of the proof in a context familiar to the uninitiated. The proof of equivalence of associative and sequential lambda calculus interpreters demonstrates a nontrivial equivalence proof and at the same time provides valuable insights into the relation between mathematical definitions of the lambda calculus and practical implementations of the lambda calculus. It is shown that an understanding of lambda calculus interpretation in turn provides insights into interpretation mechanisms for block structure languages like ALGOL 60.