skip to main content
10.1145/158511.158523acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free Access

On the orthogonality of assignments and procedures in Algol

Published:01 March 1993Publication History

ABSTRACT

According to folklore, Algol is an “orthogonal” extension of a simple imperative programming language with a call-by-name functional language. The former contains assignments, branching constructs, and compound statements; the latter is based on the typed λ-calculus. In an attempt to formalize the claim of “orthogonality”, we define a simple version of Algol and an extended λ-calculus. The calculus includes the full β-rule and rules for the reduction of assignment statements and commands. It has the usual properties, e.g., it satisfies a Church-Rosser and Strong Normalization Theorem. In support of the claim that the imperative and functional components are orthogonal to each other, we show that the proofs of these theorems are combinations of separate Church-Rosser and Strong Normalization theorems for each sublanguage.

An acclaimed consequence of Algol's orthogonal design is the idea that the evaluation of a program has two distinct phases. The first phase corresponds to an unrolling of the program according to the usual β and fixpoint reductions, which provide the formal counterpart to Algol's famous copy rule. The result of this phase is essentially an imperative program. The second phase executes the output of the first phase in the imperative fashion of a stack machine. Given our calculus, we can prove a Postponement Theorem and can thus formalize this phase separation.

References

  1. 1.BARENDREGT, H.P. The Lambda Calculus: Its Syntax and Semantics. Revised Edition. Studies in Logic and the Foundations of Mathematics 103. North-Holland, Amsterdam, 1984.]]Google ScholarGoogle Scholar
  2. 2.CRANK, E. AND M. FELLEISEN. Parameterpassing and the lambda-cMculus. In Proc. 18th A CM Symposium on Principles of Programming Languages, 1991,233-245.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.DAALEN VAN, D. The Language Theory of A UTOMATH. Ph.D. Dissertation, Eindhoven University, 1980.]]Google ScholarGoogle Scholar
  4. 4.DEMERS, A. AND J. DONAHUE. Making variables abstract: an equational theory for Russell. In Proc. l Oth A CM Symposium on Principles of Programming Languages, 1983, 59-72.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.FELLEISEN, M. The Calculi of Lambda-v-CS- Conversion: A Syntactic Theory of Control and State in Imperative Higher-Order Programming Languages. Ph.D. dissertation, Indiana University, 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.FELLEISEN, M. On the expressive power of programming languages. Science of Computer Programming 17, 1991, 35-75. Preliminary version in: Proc. 3rd European Symposium on Programming. Nell Jones, Ed. Lecture Notes in Computer Science, 432. Springer Verlag, Berlin, 1990, 134-151.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.FELLEISEN~ M. AND D.P. FRIEDMAN. Control operators, the SECD-machine, and the A- calculus. In Formal Description of Programming Concepts III, edited by M. Wirsing. Elsevier Science Publishers B.V. (North-Holland), Amsterdam, 1986, 193-217.]]Google ScholarGoogle Scholar
  8. 8.FELLEISEN, M. AND D.P. FRIEDMAN. A syntactic theory of sequentiM state. Theor. Cornput. Sci. 69(3), 1989, 243-287. Preliminary version in: Proc. 14th A CM Symposium on Principles of Programming Languages, 1987, b314-325.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.FELLEISEN, M. AND R. HIEB. The revised report on the syntactic theories of sequential control and state. Technical Report 100, Rice University, june 1989. Theor. Comput. Sci. 102~ 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.GUZM.~N, J.C. AND P. HUDAK. Singlethreaded polymorphic lambda-calculus. In Proc. Symposium on Logic in Computer Science, 1990, 333-345.]]Google ScholarGoogle Scholar
  11. 11.LENT, A. F. The Category of Functors from State Shapes to Bottomless CPOs is Adequate for Block Structure. Master's thesis, MIT, 1992.]]Google ScholarGoogle Scholar
  12. 12.MASON, I.A. AND C. TALCOTT. Equivalence in functional programming languages with effects. Journal of Functional Programming 1 (3), July 1991, 287-327. Preliminary version in: Proc. International Conference on Automata, Languages and Programming. Springer Lecture Notes in Computer Science, Vol. 372, Berlin, 1989, 574-588.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.MASON, I.A. AND C. TALCOTT. Inferring the equivalence of functional programs that mutate data. Theor. Comput. Sci. 105(2), 1992, 167- 215. Preliminary version in: Proc. Symposium on Logic in Computer Science. Computer Society Press, Washington, D.C., 1989, 284-293.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.NAUR, P. (Ed.). Revised report on the algorithmic language ALGOL 60. Comm. A CM 6(1), 1963, 1- 7.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.PLOTKIN, G.D. Call-by-name, call-by-value, and the )~-calculus. Theor. Comput. Sci. 1, 1975, 125-159.]]Google ScholarGoogle ScholarCross RefCross Ref
  16. 16.REDDY, U.S., V. SWAttUP, AND E. IRELAND. Assignments for applicative languages, in Proc. Conference on Functional Programming and Computer Architecture. Lecture Notes in Computer Science~ Vol. 523. Springer Verlag, Berlin, 1991, 192-214.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.REYNOLDS, J.C. Replacing complexity with generality: The programming language Forsythe. Unpublished manuscript, Carnegie Mellon University, Computer Science Department, 1991.]]Google ScholarGoogle Scholar
  18. 18.REYNOLDS, J.C. The essence of Algol. In Algorithmic Languages, edited by de Bakker and van Vliet. North-Holland, Amsterdam, 1981, 345-372.]]Google ScholarGoogle Scholar
  19. 19.REYNOLDS, J.C. Preliminary Design of the Programming Language Forsythe. Technical Report CMU-CS-88-159, Carnegie Mellon University, Computer Science Department, 1988.]]Google ScholarGoogle Scholar
  20. 20.S~INDERGAttD, H. AND P. SESTOFT. Referentim transparency, definiteness and unfoldability. Acta Informatica 27, 1990, 505-517.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21.WADLER, P. Comprehending monads. In Proc. 1990 A CM Conference on Lisp and Functional Programming, 1990, 61-78.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22.WRIGHT, A. AND l~/I. FELLEISEN. A syntactic approach to type soundness. Technical Report 160. Rice University, 1991. Information and Computation, 1992, to appear.]]Google ScholarGoogle Scholar

Index Terms

  1. On the orthogonality of assignments and procedures in Algol

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              POPL '93: Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
              March 1993
              510 pages
              ISBN:0897915607
              DOI:10.1145/158511

              Copyright © 1993 ACM

              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]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 March 1993

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • Article

              Acceptance Rates

              POPL '93 Paper Acceptance Rate39of199submissions,20%Overall Acceptance Rate824of4,130submissions,20%

              Upcoming Conference

              POPL '25

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader