Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/800068.802157acmconferencesArticle/Chapter ViewAbstractPublication PageslfpConference Proceedingsconference-collections
Article
Free access

The semantics of lazy (and industrious) evaluation

Published: 15 August 1982 Publication History

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

[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]
Goguen, J., J. Thatcher, E. Wagner and J. Wright. Initial Algebra Semantics and Continuous Algebras. JACM 24 (1977), pp. 68-95.
[3]
Backus, J. Can Programming be Liberated from the vonNeumann Style? A Functional Style and its Algebra of Programs. CACM 21 (1978), pp. 613-641.
[4]
Barendregt, H. The Type Free Lambda Calculus. Handbook of Mathematical Logic, J. Barwise. ed., North-Holland, Amsterdam, pp. 1091-1132.
[5]
Boyer, R.S., and Moore, J S.; "Proving Theorems About LISP Functions," JACM 22 (1975), pp. 129-144.
[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]
Cartwright, R. A Constructive Alternative to Axiomatic Data Type Definitions. Proceedings 1980 LISP Conference, Stanford, 1980.
[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]
Henderson, P. Functional Programming: Application and Implementation. Prentice-Hall, London, 1980.
[15]
Henderson, P and J. Morris, Jr. A Lazy Evaluator. Record Third Symposium on Principles of Programming Languages (1976), pp. 95-103.
[16]
Kamin, S. Final Data Type Specifications: A New Data Type Specification Method. Record Seventh Symposium on Principles of Programming Languages (1980). pp. 131-138.
[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]
Stoy, J. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press. 1977.

Cited By

View all
  • (2012)EditorArrow: An arrow-based model for editor-based programmingJournal of Functional Programming10.1017/S095679681200042123:02(185-224)Online publication date: 22-Nov-2012
  • (2010)A Typical SynergyImplementation and Application of Functional Languages10.1007/978-3-642-16478-1_11(179-197)Online publication date: 2010
  • (2009)A typical synergyProceedings of the 21st international conference on Implementation and application of functional languages10.5555/1929087.1929098(179-197)Online publication date: 23-Sep-2009
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
LFP '82: Proceedings of the 1982 ACM symposium on LISP and functional programming
August 1982
264 pages
ISBN:0897910826
DOI:10.1145/800068
Permission to make digital or hard copies of all or part 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 components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 August 1982

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 30 of 109 submissions, 28%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)51
  • Downloads (Last 6 weeks)12
Reflects downloads up to 16 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2012)EditorArrow: An arrow-based model for editor-based programmingJournal of Functional Programming10.1017/S095679681200042123:02(185-224)Online publication date: 22-Nov-2012
  • (2010)A Typical SynergyImplementation and Application of Functional Languages10.1007/978-3-642-16478-1_11(179-197)Online publication date: 2010
  • (2009)A typical synergyProceedings of the 21st international conference on Implementation and application of functional languages10.5555/1929087.1929098(179-197)Online publication date: 23-Sep-2009
  • (2005)What is a universal higher-order programming language?Automata, Languages and Programming10.1007/3-540-56939-1_112(682-695)Online publication date: 28-May-2005
  • (2005)Infinite values in hierarchical imperative typesCAAP '9010.1007/3-540-52590-4_53(254-268)Online publication date: 1-Jun-2005
  • (2005)An experiment in practical semanticsESOP 8610.1007/3-540-16442-1_11(144-159)Online publication date: 29-May-2005
  • (2005)Deriving structural induction in LCFSemantics of Data Types10.1007/3-540-13346-1_10(197-214)Online publication date: 31-May-2005
  • (1988)Sacrificing simplicity for convenience: Where do you draw the line?Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/73560.73575(169-179)Online publication date: 13-Jan-1988
  • (1986)Exact real arithmetic: a case study in higher order programmingProceedings of the 1986 ACM conference on LISP and functional programming10.1145/319838.319860(162-173)Online publication date: 8-Aug-1986
  • (1985)Types as intervalsProceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages10.1145/318593.318604(22-36)Online publication date: 1-Jan-1985
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media