A Lambda-Calculus Model of Programming Languages - II. Jumps and Procedures
暂无分享,去创建一个
The correspondence between programming languages and the lambda-calculus presented in Part I of the paper is extended here to include iteration statements, jumps, and procedures. Programs containing loops are represented by lambda-expressionswhose components are specified recursively by means of systems of simultaneous conversion relations. The representation of call-by-name and side-effects in a program is accomplished without any resort to the concepts of memory and address by making use of a number of variables in addition to those declared by the programs; with the aid of these additional variables, the parameter linkage operations can be simulated by pure substitution. The applicability of the model to the problems of proving program correctness and equivalence is demonstrated by means of examples.
[1] Brian Randall,et al. ALGOL 60 implementation , 1964 .
[2] Peter Naur. Appendix: Revised report on the algorithmic language ALGOL 60 , 1964 .
[3] Friedrich L. Bauer,et al. Revised report on the algorithm language ALGOL 60 , 1963, CACM.
[4] James H. Morris,et al. Lambda-calculus models of programming languages. , 1969 .
[5] S. C. Kleene,et al. Introduction to Metamathematics , 1952 .