Some Completeness Results in the Mathematical Theory of Computation
Journal of the ACM (JACM)
Derived semantics for some programming language constructs
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Correspondence between ALGOL 60 and Church's Lambda-notation: part I
Communications of the ACM
The next 700 programming languages
Communications of the ACM
Computer Semantics: Studies of Algorithms Processors and Languages
Computer Semantics: Studies of Algorithms Processors and Languages
Definitional interpreters for higher-order programming languages
ACM '72 Proceedings of the ACM annual conference - Volume 2
Inductive methods for proving properties of programs
Proceedings of ACM conference on Proving assertions about programs
Recursive definitions of partial functions and their computations
Proceedings of ACM conference on Proving assertions about programs
Data types and extensible languages
Proceedings of the international symposium on Extensible languages
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
Generalized data structures in Madcap VI
ACM SIGPLAN Notices
Introduction to relational programming
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
Values and objects in programming languages
ACM SIGPLAN Notices
Overview of relational programming
ACM SIGPLAN Notices
Hi-index | 48.22 |
A formal system is presented which abstracts the notions of data item, function, and relation. It is argued that the system is more suitable than set theory (or its derivatives) for the concise and accurate description of program semantics. It is shown how the system can be used to build composite data types out of simpler ones with the operations of rowing, structuring, and uniting. It is also demonstrated that completely new primitive types can be introduced into languages through the mechanism of singleton data types.Both deterministic and nondeterministic functions are shown to be definable in the system. It is described how the local environment can be modeled as a data item and how imperative statements can be considered functions on the environment. The nature of recursive functions is briefly discussed, and a technique is presented by which they can be introduced into the system. The technique is contrasted with the use of the paradoxical combinator, Y. The questions of local and global environments and of various modes of function calling and parameter passing are touched upon.The theory is applied to the proof of several elementary theorems concerning the semantics of the assignment, conditional, and iterative statements.An appendix is included which presents in detail the formal system governing webs and fen, the abstractions used informally in the body of the paper.