Abstract
This paper presents a formulation for the standard semantics of block structure and ALGOL 60 style call-by-name. The main features of this formulation are the use of continuations and streams. Continuations are used in such a way that the semantics can be defined without requiring the idea of an explicit store. Thus the concepts of address or L- and R- values are not used, and simple continuations suffice for describing assignments, iterative control statements, compounds, blocks, and functions using call by value. (Side effects are still allowed via assignments to variables global to functions.) Call-by-name is handled by introducing the idea of multiple continuations. Input-output is treated by using streams. In conjunction with continuations, these allow the formulation of program “pipes” exactly like compound functions.
Research supported (in part) by the National Science Foundation under Grant Number DCR84-05241.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
S.K. Abdali, A lambda-calculus model of programming languages. J. Computer Languages 1 (1976), 287–301 + 303-320.
S.D. Brookes. A fully abstract semantics and a proof system for an ALGOL-like language with sharing. (Included in this volume.)
W.D. Clinger. Foundations of Actor Semantics, Ph.D. dissertation, Artifical Intelligence Technical Report 633, Massachusetts Institute of Technology (1981), 86.
D.P. Friedman and D.S. Wise. Applicative Programming for file systems. Proc. ACM Conf. on Language Design for Reliable Software, ACM SIGPLAN Notices 12, 3 (March 1977), 41–55.
M.J. Gordon. The Denotational Description of Programming Languages, An Introduction, Springer, New York (1979).
J.V. Halpern, A.R. Meyer, and B.A. Trakhtenbrot. The semantics of local storage, or what makes the free-list free. Conf. Rec. 11th ACM Symp. on Principles of Programming Languages, ISBN 0-89791-125-3 (1983), 245–257.
P.J. Landin. A correspondence between ALGOL 60 and Church's lambda notation, Part I. Comm. ACM 8, 2 (February 1965), 89–101.
R. Milne and C. Strachey. A theory of programming language semantics, London, Chapman and Hall (1976).
P. Naur (ed.) et al. Revised report on the algorithmic language ALGOL 60. Comm. ACM 6, 1 (January 1963), 1–17.
J.-C. Raoult and R. Sethi. Properties of a notation for combining functions. J. ACM 30, 3 (July 1983), 595–611.
G.L. Steele and G.J. Sussman. Scheme: an interpreter for extended lambdacalculus. Artificial Intelligence Lab Memo 349, Massachusetts Institute of Technology (December 1975).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1986 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Abdali, S.K., Wise, D.S. (1986). Standard, storeless semantics for ALGOL-style block structure and call-by-name. In: Melton, A. (eds) Mathematical Foundations of Programming Semantics. MFPS 1985. Lecture Notes in Computer Science, vol 239. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-16816-8_22
Download citation
DOI: https://doi.org/10.1007/3-540-16816-8_22
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-16816-4
Online ISBN: 978-3-540-44861-7
eBook Packages: Springer Book Archive