Advertisement

Semantics of block structured languages with pointers

  • Eric G. Wagner
Part I Categorical And Algebraic Methods
Part of the Lecture Notes in Computer Science book series (LNCS, volume 298)

Abstract

This paper presents an algebraic and categorical approach to the mathematical modeling of imperative programming languages. In particular we model languages with block structure, records and variants, user definable recursive types, and pointers, etc., and with "control constructs" such as primitive recursion (generalized to recursive types), while-do, if-then-else, and assignment. In our earlier papers on this subject ([4], [5], [6]) we showed how data types and operations can be defined in an algebraic framework. In this paper we present a more mathematically sophisticated version of that framework, and we show how it can be used to provide a new approach to languages that have block structure together with objects, such as pointers, which are dynamically declared and may persist outside the block in which they are declared. The main new mathematical concept, and the key to the development, is the concept of an EDHT-category which is an extension of the DHT-symmetric categories introduced by Hoehnke [13] as a categorical framework for partial algebras.

Keywords

Categorical Product Type Item Monoidal Category Type Link Categorical Framework 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

13. Bibliography

  1. [1]
    MacLane, S., Categories for the Working Mathematician, Springer-Verlag, (1971).Google Scholar
  2. [2]
    Goguen, J. A., Thatcher, J. W., Wagner, E. G., "An Initial Algebra Approach to the Specification, Correctness, and Implementation of Abstract Data Types," Current Trends in Programming Methodology IV: Data Structuring, (R. Yeh, Ed.) Prentice-Hall (1978).Google Scholar
  3. [3]
    Jensen, K., and Wirth, N., PASCAL User Manual and Report, 2nd Ed., Springer-Verlag, New York, Heidelberg, and Berlin, (1978)Google Scholar
  4. [4]
    Wagner, E. G., "Categorical Semantics, or Extending Data Types to Include Memory," (Invited Paper) Recent Trends in Data Type Specification: 3rd Workshop on Theory and Applications of Abstract Data Types, Selected Papers (H.-J. Kreowski, Ed.) Informatik-Fachberichte 116, Springer-Verlag, (1985) pp. 1–21.Google Scholar
  5. [5]
    Wagner, E. G., "Algebraic Theories, Data Types, and Control Constructs," Fundamenta Informaticae IX (1986) 343–370.Google Scholar
  6. [6]
    Wagner, E. G., "Categories, Data Types, and Imperative Languages," (invited lecture) Category Theory and Computer Programming, (Tutorial and Workshop, Guildford, U.K., September 1985, Proceedings) (Pitt, D., Abramsky, S., Poigne, A., Rydeheard, D., Eds.) LNCS 240, Springer-Verlag (1986), pp 143–162.Google Scholar
  7. [7]
    Milne, R. E., and Strachey, C., A Theory of Programming Language Semantics Champan and Hall, London, and John Wiley, New York, (1976)Google Scholar
  8. [8]
    Stoy, J. E., Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, MIT Press, Cambridge, Mass. and London, England, (1977)Google Scholar
  9. [9]
    Oles, F. J., A Category-Theoretic Approach to the Semantics of Programming Languages, PhD Dissertation, School of Computer Science, Syracuse University, August 1982.Google Scholar
  10. [10]
    Landin, P. J., "The Mechanical Evaluation of Expressions," Computer Jour., 6, (1964) pp.308–320.Google Scholar
  11. [11]
    Lehmann, D. J., and Smyth, M. B., "Data Types:, Proceedings of the 18th IEEE Symposium on the Foundations of Computing, Providence, R.I., Nov. 1977, pp.7–12.Google Scholar
  12. [12]
    Robinson, E., and Rosolini, G., Categories of Partial Maps, Manuscript, submitted for publication.Google Scholar
  13. [13]
    Hoehnke, H-J., "On Partial Algebras," Colloquia Mathematica Societatis Janos Bolyai, 29. Universal Algebra, Esztergom (Hungary), 1977. pp 373–412.Google Scholar
  14. [14]
    Hoehnke, H.-J., "On Yoneda-Schreckenberger's Embedding of a class of Monoidal Categories," 1985, submitted for publication.Google Scholar
  15. [15]
    Schreckenberger, J., "Über die Einbettung von dht-symmetrischen Kategorien in die Kategorie der partiellen Abbildungen zwischen Mengen," Preprint P-12/80, Akad. Wiss. der DDR, ZI Math. und Mech., Berlin 1980.Google Scholar
  16. [16]
    Bloom, S. L., and Wagner, E. G., "Many-sorted theories and their Algebras with some Applications to Data Types," Algebraic Methods in Semantics, (M. Nivat, and J. C. Reynolds, Eds.), Cambridge University Press, 1985, pp 133–168.Google Scholar
  17. [17]
    Lawvere, W., Functorial Semantics of Algebraic Theories, Proc. Nat. Acad. Sci., 21 (1963) pp 1–23.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Eric G. Wagner
    • 1
  1. 1.Mathematical Sciences DepartmentIBM T.J. Watson Research CenterYorktown HeightsU.S.A.

Personalised recommendations