ACM Home Page
Please provide us with feedback. Feedback
The semantics of lazy (and industrious) evaluation
Full text PdfPdf (922 KB)
Source Conference on LISP and Functional Programming archive
Proceedings of the 1982 ACM symposium on LISP and functional programming table of contents
Pittsburgh, Pennsylvania, United States
Pages: 253 - 264  
Year of Publication: 1982
ISBN:0-89791-082-6
Authors
Sponsors
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 17,   Citation Count: 6
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/800068.802157
What is a DOI?

ABSTRACT

Since the publication of two influential papers on lazy evaluation in 1976 [Henderson and Morris, Friedman and Wise], the idea has gained widespread acceptance among language theoreticians—particularly among the advocates of “functional programming” [Henderson80, Backus78]. There are two basic reasons for the popularity of lazy evaluation. First, by making some of the data constructors in a functional language non-strict, it supports programs that manipulate “infinite objects” such as recursively enumerable sequences, which may make some applications easier to program. Second, by delaying evaluation of arguments until they are actually needed, it may speed up computations involving ordinary finite objects. First, there are several semantically distinct definitions of lazy evaluation that plausibly capture the intuitive notion. Second, non-trivial lazy spaces are similar in structure (under the approximation ordering) to universal domains (as defined by Scott [Scott81, Scott76]) such as the P@@@@ model for the untyped lambda calculus. Third, we prove that neither initial algebra specifications [ADJ76,77] nor final algebra specifications [Guttag78, Kamin80] have the power to define lazy spaces. Fourth, although lazy spaces have the same “higher-order” structure as P@@@@, they nevertheless have an elegant, natural characterization within first order logic. In this paper, we develop a simple, yet comprehensive first order theory of lazy spaces relying on three axiom schemes asserting (1) the principle of structural induction for finite objects; (2) the existence of least upper bounds for directed sets; and (3) the continuity of functions.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Goguen, J., J. Thatcher and E. Wagner. An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types. IBM Research Report RC-6478, Yorktown Heights, 1976.
2
3
 
4
Barendregt, H. The Type Free Lambda Calculus. Handbook of Mathematical Logic, J. Barwise. ed., North-Holland, Amsterdam, pp. 1091-1132.
5
 
6
Boyer, R.S., and Moore, JS. A Computational Logic, Academic Press, New York, 1979.
 
7
Cartwright, R. User-Defined Data Types as an Aid to Verifying LISP Programs. Automata, Languages and Programming. Edinburgh Press, 1976.
8
 
9
Enderton, H.B. A Mathematical Introduction to Logic. Academic Press, New York, 1972.
 
10
Friedman, D. and D. Wise. CONS Should Not Evaluate Its Arguments. Automata, Languages and Programming, Edinburgh University Press, 1976, pp.257-284.
 
11
Giles. An LCF Axiomatization of Lazy Lists. CSR-31-78. Computer Science Department, Edinburgh University.
 
12
Gordon, M., R. Milner and C. Wadsworth. Edinburgh LCF. CSR-11-77. Computer Science Department, Edinburgh University.
 
13
Guttag, J. and J. Horning. The Algebraic Specification of Abstract Data Types. Acta Informatica 10 (1978), pp. 27-52.
 
14
15
16
 
17
Scott, D. Data Types as Lattices. SIAM J. Computing 5 (1976), pp. 522-587.
 
18
Scott, D. Lectures on a Mathematical Theory of Computation. Technical Monograph PRG-19, Oxford University Computing Laboratory, Oxford.
 
19


Collaborative Colleagues:
Robert Cartwright: colleagues
James Donahue: colleagues