Abstract
Function and logic programming languages are understood as terms, resp. formulas, of a first order theory. This theory gives meaning to programs and allows reasoning about programs within full predicate logic possibly using quantifiers and induction. The operational semantics of programming languages is given by deductively restricted subtheories of the meaning theory in such a way that the computation sequences are in a one-to-one correspondence with proofs in subtheories. Moreover, meaning is invariant to computations as everything provable in a subtheory is required to be a theorem of the meaning theory. The questions of deadlocks and termination of programs are thus reduced to the proof-theoretical questions of existence of proofs in the subtheories.
Similar content being viewed by others
References
Bauer, F. et al., “Description of the Wide Spectrum Language CIP-L,”Research Report, Technical University Munich, May, 1983.
Burstall, R. and Lampson, B., “A Kernel Language for Modules and Abstract Data Types,” Digital Systems Research Center, Palo Alto, 1984.
Clocksin, W. and Mellish, C.,Programming in Prolog, Springer, Berlin, 1981.
Goguen and Tardo, “An Introduction to OBJ: A Language for Writing and Testing Software Specifications,” inSpecification of Reliable Software, 1979.
Hermes, H., “Term Logic with Choice Operator,”Lecture Notes in Mathematics, no. 6, Springer, Berlin, 1970.
Hoare, C. A. R., “An Axiomatic Basis for Computer Programming,”CACM, vol. 12. Oct., 1969.
Jensen, K. and Wirth, N.,PASCAL User Manual and Report, Springer, Berlin, 1974.
Kleene, S.,Introduction to Metamathematics, North-Holland, Amsterdam, 1971.
Kowalski, R.,Logic for Problem Solving, North Holland, Amsterdam, 1979.
Shapiro, E., “A Subset of Concurrent Prolog and its Interpreter,”ICOT Technical Report, TR-003, Jan., 1983.
Shoenfield, J.,Mathematical Logic, Addison-Wesley, 1967.
Stoy, J.,Denotational Semantics: The Scott-Strachey Approach to the Mathematical Semantics, MIT Press, Cambridge, 1977.
Schuette, K.,Proof Theory, Springer, Berlin, 1977.
Schwichtenberg, H., “Elimination of Higher Type Levels in Definitions of Primitive Recursive Functionals by Means of Transfinite Recursion,” in:Logic Colloquium ’73, (Rose and Shepherdson, eds.), North Holland, Amsterdam, 1973.
Voda, P. J., “R-Maple: A Concurrent Programming Language Based on Predicate Logic, Part I: Syntax and Computation,”Technical Report of Dept. Computer Science UBC, Vancouver, August, 1983.
Voda, P. J., “Theory of Pairs, Part 1: Provably Recursive Functions,”Technical Report of Dept. Computer Science UBC, Vancouver, December, 1984.
Voda, P. J., Yu, B., “RF-Maple: A Logic Programming Language with Functions, Types and Concurrency,”Proceedings of the International Conference on Fifth Generation Computer Systems 1984, Tokyo, November, 1984.
Author information
Authors and Affiliations
About this article
Cite this article
Voda, P.J. A view of programming languages as symbiosis of meaning and computations. NGCO 3, 71–100 (1985). https://doi.org/10.1007/BF03037116
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF03037116