ACM Home Page
Please provide us with feedback. Feedback
A call-by-need lambda calculus
Full text PdfPdf (1.17 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
San Francisco, California, United States
Pages: 233 - 246  
Year of Publication: 1995
ISBN:0-89791-692-1
Authors
Zena M. Ariola  Computer & Information Science Department, University of Oregon, Eugene, Oregon
John Maraist  Institut für Programmstrukturen, Universität Karlsruhe, Karlsruhe, Germany
Martin Odersky  Institut für Programmstrukturen, Universität Karlsruhe, Karlsruhe, Germany
Matthias Felleisen  Department of Computer Science, Rice University, Houston, Texas
Philip Wadler  Department of Computing Science, University of Glasgow, Glasgow, Scotland
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 32,   Citation Count: 48
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/199448.199507
What is a DOI?

ABSTRACT

The mismatch between the operational semantics of the lambda calculus and the actual behavior of implementations is a major obstacle for compiler writers. They cannot explain the behavior of their evaluator in terms of source level syntax, and they cannot easily compare distinct implementations of different lazy strategies. In this paper we derive an equational characterization of call-by-need and prove it correct with respect to the original lambda calculus. The theory is a strictly smaller theory than the lambda calculus. Immediate applications of the theory concern the correctness proofs of a number of implementation strategies, e.g., the call-by-need continuation passing transformation and the realization of sharing via assignments.


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
M. Abadi, L. Cardelli, P.-L. Curien, and :}.-J. L@vy. Explicit substitutions. Journal of Functional Programming, 4(1), 1991.
 
2
S. Abramsky. The lazy lambda calculus. In D. Turner, editor, Declarative Programming. Addison-Wesley, 1990.
 
3
 
4
Z. M. Ariola and M. Felleisen. The call-by-need lambda calculus. Technical Report CIS-TR-94- 23, Department of computer science, University of Oregon, October 1994.
 
5
Z. M. Ariola and J. W. KIop. Cyclic lambda graph rewriting. In Proc. of #he Eighth IEEE Symposium on Logic in Computer Science, Paris, 1994.
 
6
Z. M. Ariola and J. W. Klop. Equational term graph rewriting. Acta Informahca, 1994.
 
7
Arvind, V. Kathail, and K. Pingali. Sharing of computation in functional language implementations. In Proc. International Workshop on High- Level Computer Architecture, 1984.
 
8
H. P. Barendregt. The Lambda Calculus: Its Syntax and Semantics. North-Holland, Amsterdam, 1984.
 
9
E. Crank. Parameter-passing and the lambda calculus. Master's thesis, Rice University, 1990.
10
 
11
M. Felleisen and D. P. Friedman. Control operators, the SECD-machine, and the lambda-calculus. in 3rd Working Conference on the Formal Description of Programming Concepts, Ebberup, Denmark, August 1986.
 
12
13
 
14
D. P. Friedman and D. S. Wise. Cons should not evaluate its arguments, in Proc. Internatzonal Conference on Automata, Languages and Programming, 1976.
15
 
16
V. K. Kathail. Optimal Interpreters for Lambdacalculus Based Funtional Languages. PhD thesis, Dept. of Electrical Engineering and Computer Science, MIT, 1990.
17
18
 
19
J. Maraist, M. Odersky, and P. Wadler. The callby-need lambda calculus (unabridged). Technical Report 28/94, Universit#it Karlsruhe, Fakult#t fiir informatik, October 1994.
20
 
21
 
22
I. A. Mason and C. L. Talcott. Equivalence in functional languages with effects. Journal of Functional Programming, 1(2), 1991.
 
23
G. Morrisett, M. Felleisen, and R. Harper. Modeling memory management. Technical report, Departement of computer science, Carnegie Mellon University, forthcoming 1994.
 
24
 
25
 
26
G. D. Plotkin. Call-by-name, call-by-value and the lambda calculus. Theoretical Computer Science, I, 1975.
 
27
 
28
 
29
 
30
C. Wadsworth. Semaniics And Pragmatics Of The Lambda-Calculus. PhD thesis, University of Oxford, September 1971.
31

CITED BY  49

Collaborative Colleagues:
Zena M. Ariola: colleagues
John Maraist: colleagues
Martin Odersky: colleagues
Matthias Felleisen: colleagues
Philip Wadler: colleagues