skip to main content
article
Free access

The equivalence of sequential and associate information structure models

Published: 01 February 1971 Publication History

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 <u>associative interpreters</u> and <u>sequential interpreters</u>. 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.

References

[1]
Barron et al., The main features of CPL, Computer Journal 6, no. 2, July 1963.]]
[2]
Böhm, C., The CUCH as a formal description language. In Formal language description languages for computer programming, ed. Steel, North-Holland, 1963.]]
[3]
Burge, W., The evaluation, classification and interpretation of expressions, Proc. 19th National ACM Conference, August 1964.]]
[4]
Burstall, R. M., Proving properties of programs by structural induction, Computer Journal 12, no. 1, 1969.]]
[5]
Church, A., The calculi of lambda conversion, Princeton, 1941.]]
[6]
Church, A., An unsolvable problem of elementary number theory, American Journal of Mathematics 58, 1936.]]
[7]
Curry, H. B., and Feys, R., Combinatory logic, North-Holland, 1958.]]
[8]
Evans, A., PAL - a language designed for teaching programming linguistics, ACM 23rd National Conference, August 1968.]]
[9]
Floyd, R. W., Assigning meanings to programs, Proc. Symposium in Applied Mathematics, American Mathematical Society, 1967.]]
[10]
Kleene, S., Lambda-definability and recursiveness, Duke Mathematical Journal 2, 1936.]]
[11]
Landin, P. J., The mechanical evaluation of expressions, Computer Journal 6, no. 4, 1964.]]
[12]
Landin, P. J., A correspondence between ALGOL 60 and Church's lambda notation, Comm. ACM 8, nos. 2 and 3, February and March 1965.]]
[13]
Ledgard, H., A formal system for defining the syntax and semantics of computer languages, Ph.D. thesis, M.I.T.; MAC-TR-60, Feburary 1969.]]
[14]
Lucas, P., and Walk, K., On the formal description of PL/I, Annual Review in Automatic Programming 6, no. 3, 1969.]]
[15]
Lucas, P., Two constructive realizations of the block concept and their equivalence, TR 25--085, IBM Vienna Laboratories, 1968.]]
[16]
McCarthy, J., Towards a mathematical science of computation, Proc. IFIPS Congress 1962, North-Holland 1963.]]
[17]
McCarthy, J., et al., The LISP 1.5 programmers' manual, M.I.T. Press, 1965.]]
[18]
McGowan, C. L., Correctness results for lambda calculus interpreters, Ph.D. thesis, Cornell University, January 1971.]]
[19]
McGowan, C. L., On the equivalence of mechanical evaluation strategies, Symposium on Programming Language Definition, August 1969.]]
[20]
Naur, P., et al., Revised report on the algorithmic language ALGOL 60, Comm. ACM 6, 1, January 1963.]]
[21]
Randell, B., and Russell, L. J., ALGOL 60 implementations, Academic Press, 1964.]]
[22]
Reynolds, J. C., Gedanken - a simple typeless language based on the principle of completeness and the reference concept, Comm. ACM 13, 5, May 1970.]]
[23]
Strachey, C., Fundamental concepts in programming languages, NATO Conference, Copenhagen, 1967.]]
[24]
Turing, A. M., Computability and lambda-definability, Journal of Symbolic Logic 2, 1937.]]
[25]
Wegner, P., Programming languages, information structures and machine organization, McGraw-Hill, 1968.]]
[26]
Wegner, P., Three computer cultures - computer technology, computer mathematics and computer science, Advances in Computers 10, 1970.]]
[27]
Wegner, P., Information structures for programming languages, TR 70--26, Center for Computer and Information Sciences, Brown University, September 1970.]]

Cited By

View all
  1. The equivalence of sequential and associate information structure models

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 6, Issue 2
    February 1971
    416 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/1115880
    Issue’s Table of Contents
    Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 February 1971
    Published in SIGPLAN Volume 6, Issue 2

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)58
    • Downloads (Last 6 weeks)5
    Reflects downloads up to 18 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media