skip to main content
article
Free Access

Logic and programming languages

Published:01 September 1977Publication History
Skip Abstract Section

Abstract

Logic has been long interested in whether answers to certain questions are computable in principle, since the outcome puts bounds on the possibilities of formalization. More recently, precise comparisons in the efficiency of decision methods have become available through the developments in complexity theory. These, however, are applications to logic, and a big question is whether methods of logic have significance in the other direction for the more applied parts of computability theory.

Programming languages offer an obvious opportunity as their syntactic formalization is well advanced; however, the semantical theory can hardly be said to be complete. Though we have many examples, we have still to give wide-ranging mathematical answers to these queries: What is a machine? What is a computable process? How (or how well) does a machine simulate a process? Programs naturally enter in giving descriptions of processes. The definition of the precise meaning of a program then requires us to explain what are the objects of computation (in a way, the statics of the problem) and how they are to be transformed (the dynamics).

So far the theories of automata and of nets, though most interesting for dynamics, have formalized only a portion of the field, and there has been perhaps too much concentration on the finite-state and algebraic aspects. It would seem that the understanding of higher-level program features involves us with infinite objects and forces us to pass through several levels of explanation to go from the conceptual ideas to the final simulation on a real machine. These levels can be made mathematically exact if we can find the right abstractions to represent the necessary structures.

The experience of many independent workers with the method of data types as lattices (or partial orderings) under an information content ordering, and with their continuous mappings, has demonstrated the flexibility of this approach in providing definitions and proofs, which are clean and without undue dependence on implementations. Nevertheless much remains to be done in showing how abstract conceptualizations can (or cannot) be actualized before we can say we have a unified theory.

References

  1. 1 B~hm, C., Ed. h-Calculus and Computer Science Theory. Lecture Notes in Computer Science, Vol. 37, Springer-Verlag, New York, 1975.Google ScholarGoogle Scholar
  2. 2 Clark, K.L., and Cowell, D.F. Programs, Machines, and Computation. McGraw-Hill, New York, 1976.Google ScholarGoogle Scholar
  3. 3 Crossley, J,N., ed. Algebra and Logic. Papers from the 1974 Summer Res. Inst. Australian Math. Soc., Monash U. Clayton, Victoria, Australia. Lecture Notes in Mathematics, Vol. 450, Springer-Verlag, New York, 1975.Google ScholarGoogle Scholar
  4. 4 Donahue, J.E. Complementary Definitions of Programming Language Semantics. Lecture Notes in Computer Science, Vol. 42, Springer-Verlag, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 Eilenberg, S. Automata, Languages, and Machines. Academic Press, New York, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 van Emden, M.H., and Kowalski, R.A. The semantics of predicate logic as a programming language. J. ACM 23, 4 (Oct. 1976), 733-742. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 Manes, E.G., Ed. Category Theory Applied to Computation and Control. First Int. Syrup. Lecture Notes in Computer Science, Vol. 25, Springer-Verlag, New York, 1976.Google ScholarGoogle Scholar
  8. 8 Manna, Z. Mathematical Theory of Computation. McGraw-Hill, New York, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 Milne, R., and Strachey, C. A Theory of Programming Language Semantics. Chapman and Hall, London, and Wiley, New York, 2 Vols., 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 Plotkin, G.D. A powerdomain construction. SIAM J. Comptng. 5 (1976), 452-487.Google ScholarGoogle ScholarCross RefCross Ref
  11. 11 Rabin, M.O., and Scott, D.S. Finite automata and their decision problems. IBM J. Res. and Develop. 3 (1959), 114-125.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 Scott, D.S. Data types as lattices. SIAMJ. Comptng. 5 (1976), 522-587.Google ScholarGoogle ScholarCross RefCross Ref
  13. 13 Stoy, J.E. Denotational Semantics- The Scott-Strachey Approach to Programming Language Theory. M.I.T. Press, Cambridge, Mass. To appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14 Tennent, R.D. The denotational semantics of programming languages. Comm. ACM 19, 8 (Aug. 1976), 437-453. Google ScholarGoogle ScholarDigital LibraryDigital Library

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

Full Access

  • Published in

    cover image Communications of the ACM
    Communications of the ACM  Volume 20, Issue 9
    Sept. 1977
    60 pages
    ISSN:0001-0782
    EISSN:1557-7317
    DOI:10.1145/359810
    Issue’s Table of Contents

    Copyright © 1977 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 September 1977

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader