Skip to main content
Log in

A view of programming languages as symbiosis of meaning and computations

  • Regular Papers
  • Published:
New Generation Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bauer, F. et al., “Description of the Wide Spectrum Language CIP-L,”Research Report, Technical University Munich, May, 1983.

  2. Burstall, R. and Lampson, B., “A Kernel Language for Modules and Abstract Data Types,” Digital Systems Research Center, Palo Alto, 1984.

    Google Scholar 

  3. Clocksin, W. and Mellish, C.,Programming in Prolog, Springer, Berlin, 1981.

    MATH  Google Scholar 

  4. Goguen and Tardo, “An Introduction to OBJ: A Language for Writing and Testing Software Specifications,” inSpecification of Reliable Software, 1979.

  5. Hermes, H., “Term Logic with Choice Operator,”Lecture Notes in Mathematics, no. 6, Springer, Berlin, 1970.

    MATH  Google Scholar 

  6. Hoare, C. A. R., “An Axiomatic Basis for Computer Programming,”CACM, vol. 12. Oct., 1969.

  7. Jensen, K. and Wirth, N.,PASCAL User Manual and Report, Springer, Berlin, 1974.

    MATH  Google Scholar 

  8. Kleene, S.,Introduction to Metamathematics, North-Holland, Amsterdam, 1971.

    Google Scholar 

  9. Kowalski, R.,Logic for Problem Solving, North Holland, Amsterdam, 1979.

    MATH  Google Scholar 

  10. Shapiro, E., “A Subset of Concurrent Prolog and its Interpreter,”ICOT Technical Report, TR-003, Jan., 1983.

  11. Shoenfield, J.,Mathematical Logic, Addison-Wesley, 1967.

  12. Stoy, J.,Denotational Semantics: The Scott-Strachey Approach to the Mathematical Semantics, MIT Press, Cambridge, 1977.

    Google Scholar 

  13. Schuette, K.,Proof Theory, Springer, Berlin, 1977.

    MATH  Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

  16. Voda, P. J., “Theory of Pairs, Part 1: Provably Recursive Functions,”Technical Report of Dept. Computer Science UBC, Vancouver, December, 1984.

  17. 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.

Download references

Author information

Authors and Affiliations

Authors

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

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF03037116

Keywords

Navigation