Logic and programming languages

24Citations
Citations of this article
59Readers
Mendeley users who have this article in their library.

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. © 1977, ACM. All rights reserved.

References Powered by Scopus

SEMANTICS OF PREDICATE LOGIC AS A PROGRAMMING LANGUAGE.

999Citations
N/AReaders
Get full text

The Denotational Semantics of Programming Languages

173Citations
N/AReaders
Get full text

Cited by Powered by Scopus

Logical foundations of cyber-physical systems

187Citations
N/AReaders
Get full text

Lambda-Calculus and Combinators in the 20th Century

40Citations
N/AReaders
Get full text

Data Types Are Values

38Citations
N/AReaders
Get full text

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Cite

CITATION STYLE

APA

Scott, D. S. (1977). Logic and programming languages. Communications of the ACM, 20(9), 634–641. https://doi.org/10.1145/359810.359826

Readers' Seniority

Tooltip

PhD / Post grad / Masters / Doc 24

65%

Professor / Associate Prof. 6

16%

Researcher 6

16%

Lecturer / Post doc 1

3%

Readers' Discipline

Tooltip

Computer Science 29

73%

Mathematics 7

18%

Philosophy 2

5%

Design 2

5%

Article Metrics

Tooltip
Mentions
References: 4

Save time finding and organizing research with Mendeley

Sign up for free