skip to main content
10.1145/41625.41654acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free access

A calculus for assignments in higher-order languages

Published: 01 October 1987 Publication History

Abstract

Imperative assignments are abstractions of recurring programming patterns in purely functional programming languages. When added to higher-order functional languages, they provide a higher-level of modularity and security but invalidate the simple substitution semantics. We show that, given an operational interpretation of a denotational semantics for such a language, it is possible to design a two-level extension of the λu-calculus. This calculus provides a location-free rewriting semantics of the language and offers new possibilities for reasoning with assignments. The upper level of the calculus factors out all the steps in a reduction sequence which must be in a linear order; the lower level allows a partial ordering of reduction steps.

References

[1]
ABDALI, S.K., D.S. Wtsz. Storeless semmatics for ALGOL-style block structure, Proe. Conj. Mathematical Foundations of Programming Semantics, Lecture Notes in Computer Science, Springer-Verlag, New York, 1985, to appear.
[2]
BARENDREGT, H.P. The Lambda Calculus: Its Syntaz and Semantics, North-Holland, Amsterdam, 1981.
[3]
B ROOKES, S.D. A fully abstract semantics and a proof system for an Algol-like language with sharing, Proc. Conf. Mathematical Foundations o} Programming Semantics, Lecture Notes in Computer Science, Spfinger-Verlag, New York, 1985, to appear.
[4]
DZ BRUIJN. N.G. Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with applications to the Church-Rosser theorem, Indagationes Mathematics 37, 1972, 381- 392.
[5]
DONAHUZ, J.E. Locations considered unnecessary, Acta Inlormatiea 8, 1977, 221-242.
[6]
FZLLEISEN, S., D.P. FRIEDMAN. Control operators, the SECD-machine, and the A-calculus, Formal Description of Programming Concepts III, North- Holland, Amsterdam, 1986, to appear.
[7]
HALPERN, J.Y., A.R. MEYER, B.A. TRAKHTEN- BROT. The semantics of local storage, or What makes the free-list free?, Proc. llth ACM Syrup. Principles o{ Programming Languages, 1984, 245-257.
[8]
LANVIN, P .J. A correspondence between ALGOL 60 and Church's lambda notation, Comm. ACM, 8(2), 1965, 89-101; 158-165.
[9]
MASON, I. A. Equivalences of first-order Lisp programs, Proc. First S!tmp. Logic in Computer Science, 1986, 105-117.
[10]
MORRIS, J.H. Protection in programming languages, Comm. A CM 16(8), 1973, 15-21.
[11]
PLOTKIN, G .D. A structural approach to operational semantics, Tech. Rpt. DAIMI FN-19, Aarhus University, Computer Science Department, 1981.
[12]
PLOTKIN, G. D. Call-by-name, call-by-value, and the A-calculus, Theoretical Computer Science 1, 1975, 125-159.

Cited By

View all
  • (2024)Qualifying System F<:: Some Terms and Conditions May ApplyProceedings of the ACM on Programming Languages10.1145/36498328:OOPSLA1(583-612)Online publication date: 29-Apr-2024
  • (2023)Simple Reference Immutability for System F<:Proceedings of the ACM on Programming Languages10.1145/36228287:OOPSLA2(857-881)Online publication date: 16-Oct-2023
  • (2023)PureCake: A Verified Compiler for a Lazy Functional LanguageProceedings of the ACM on Programming Languages10.1145/35912597:PLDI(952-976)Online publication date: 6-Jun-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '87: Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
October 1987
326 pages
ISBN:0897912152
DOI:10.1145/41625
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: 01 October 1987

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

POPL87
Sponsor:

Acceptance Rates

POPL '87 Paper Acceptance Rate 29 of 108 submissions, 27%;
Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)50
  • Downloads (Last 6 weeks)13
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Qualifying System F<:: Some Terms and Conditions May ApplyProceedings of the ACM on Programming Languages10.1145/36498328:OOPSLA1(583-612)Online publication date: 29-Apr-2024
  • (2023)Simple Reference Immutability for System F<:Proceedings of the ACM on Programming Languages10.1145/36228287:OOPSLA2(857-881)Online publication date: 16-Oct-2023
  • (2023)PureCake: A Verified Compiler for a Lazy Functional LanguageProceedings of the ACM on Programming Languages10.1145/35912597:PLDI(952-976)Online publication date: 6-Jun-2023
  • (2022)Summary-Based Compositional Analysis for Soft Contract Verification2022 IEEE 22nd International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM55253.2022.00028(186-196)Online publication date: Oct-2022
  • (2020)ιDOT: a DOT calculus with object initializationProceedings of the ACM on Programming Languages10.1145/34282764:OOPSLA(1-28)Online publication date: 13-Nov-2020
  • (2019)Duet: an expressive higher-order language and linear type system for statically enforcing differential privacyProceedings of the ACM on Programming Languages10.1145/33605983:OOPSLA(1-30)Online publication date: 10-Oct-2019
  • (2019)Certifying graph-manipulating C programs via localizations within data structuresProceedings of the ACM on Programming Languages10.1145/33605973:OOPSLA(1-30)Online publication date: 10-Oct-2019
  • (2019)Efficient lock-free durable setsProceedings of the ACM on Programming Languages10.1145/33605543:OOPSLA(1-26)Online publication date: 10-Oct-2019
  • (2019)Derivative grammars: a symbolic approach to parsing with derivativesProceedings of the ACM on Programming Languages10.1145/33605533:OOPSLA(1-28)Online publication date: 10-Oct-2019
  • (2019)Staged abstract interpreters: fast and modular whole-program analysis via meta-programmingProceedings of the ACM on Programming Languages10.1145/33605523:OOPSLA(1-32)Online publication date: 10-Oct-2019
  • 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