ABSTRACT
A different way to execute pure LISP programs is presented. It delays the evaluation of parameters and list structures without ever having to perform more evaluation steps than the usual method. Although the central idea can be found in earlier work this paper is of interest since it treats a rather well-known language and works out an algorithm which avoids full substitution. A partial correctness proof using Scott-Strachey semantics is sketched in a later section.
References
- 1.Curry, H.B. and Feys, R., Combinatory Logic, vol 1. North-Holland, 1958.Google Scholar
- 2.Hewitt, Carl, et. al., Behavioral semantics of non-recursive control structures, Proceedings, Colloque sur la Programmation, Springer-Verlag Lecture Notes in Computer Science, No. 19, 1974. Google Scholar
Digital Library
- 3.Reynolds, J. R., Notes on a lattice-theoretic approach to the theory of computation, Lecture notes, Syracuse University, 1971.Google Scholar
- 4.Scott, D. and Strachey, C., Toward a mathematical semantics for computer languages, Proc. of the Symposium on Computers and Automata, Polytechnic Institute of Brooklyn, and PRG-6 Oxford University Computing Laboratory, 1971.Google Scholar
- 5.Stoy, J., The Scott-Strachey approach to the mathematical semantics of programming languages, Course notes at M.I.T. Project MAC, 1973.Google Scholar
- 6.Vuillemin, J., Correct and optimal implementations of recursion in a simple programming language, Journal of Computer and System Sciences, vol. 9, No. 3, December 1974.Google Scholar
Digital Library
- 7.Wadsworth, Christopher, Semantics and Pragmatics of the Lambda-calculus, PhD. thesis, Oxford, 1971.Google Scholar
Index Terms
A lazy evaluator





Comments