ACM Home Page
Please provide us with feedback. Feedback
Call by name, assignment, and the lambda calculus
Full text PdfPdf (1.23 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Charleston, South Carolina, United States
Pages: 43 - 56  
Year of Publication: 1993
ISBN:0-89791-560-7
Authors
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): 7,   Downloads (12 Months): 42,   Citation Count: 17
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/158511.158521
What is a DOI?

ABSTRACT

We define an extension of the call-by-name lambda calculus with additional constructs and reduction rules that represent mutable variables and assignments. The extended calculus has neither a concept of an explicit store nor a concept of evaluation order; nevertheless, we show that programs in the calculus can be implemented using a single-threaded store. We also show that the new calculus has the Church-Rosser property and that it is a conservative extension of classical lambda calculus with respect to operational equivalence; that is, all algebraic laws of the functional subset are preserved.


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
H. Barendregt. The Lambda Calculus: Its Syntax and Semantics, volume 103 of Studies in Logic and the Foundations of Mathematics. North-Holland, 1984.
2
3
 
4
5
 
6
M. Felleisen and R. Hieb. The revised report on the syntactic theories of sequential control and state. Technical Report Rice COMP TR89-100, Rice University, June 1989. To Appear in Theoretical Computer Science.
 
7
J. Field. A simple rewriting semantics for realistic imperative programs and its application to program analysis. In PEPM'92: A CM SIGPLAN Workshop on Partial Evaluation and Semantics.Based Program Manipulation, pages 98-107, June 1992. Yale University Research Report YALEU/DCS/RR-909.
 
8
J. GuzmAn and P. Hudak. Single-threaded polymorphic lambda calculus. In IEEE Symposium on Logic in Computer Science, pages 333-343, June 1990.
9
 
10
P. Hudak and D. Robin. Mutable abstract datatypes - or- how to have your state and munge it too. Research Report YALEU/DCS/RR-914, Yale University, Department of Computer Science, July 1992.
 
11
 
12
i. Mason and C. Talcott. Equivalence in functional languages with side effects. Journal of Functional Programming, 1(3):287-327, July 1991.
 
13
 
14
M. Odersky and D. Robin. The unexpurgated callby-name, assignment, and the lambda-calculus. Research Report YALEU/DCS/RR-930, Department of Computer Science, Yale University, New Haven, Connecticut, October 1992.
 
15
G. D. Plotkin. Call-by-name, call-by-value, and the ,k-calculus. Theoretical Computer Science, 1:125-159, 1975.
 
16
J. C. Reynolds. Preliminary design of the programming language Forsythe. Technical Report CMU-CS-88-159, Carnegie Mellon University, June 1988.
17
 
18
 
19
j.-P. Talpin and P. Jouvelot. Type, effect and region reconstruction in polymorphic functional languages. In Workshop on Static Analysis of Equational, Functional, and Logic Programs, Bordeaux, Oct. 1991.
20
21
22

CITED BY  17

Collaborative Colleagues:
Martin Odersky: colleagues
Dan Rabin: colleagues
Paul Hudak: colleagues