Skip to main content

Semantics of block structured languages with pointers

  • Part I Categorical And Algebraic Methods
  • Conference paper
  • First Online:
Mathematical Foundations of Programming Language Semantics (MFPS 1987)

Part of the book series: Lecture Notes in Computer Science ((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.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

13. Bibliography

  1. MacLane, S., Categories for the Working Mathematician, Springer-Verlag, (1971).

    Google Scholar 

  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. Jensen, K., and Wirth, N., PASCAL User Manual and Report, 2nd Ed., Springer-Verlag, New York, Heidelberg, and Berlin, (1978)

    Google Scholar 

  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. Wagner, E. G., "Algebraic Theories, Data Types, and Control Constructs," Fundamenta Informaticae IX (1986) 343–370.

    Google Scholar 

  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. 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. Stoy, J. E., Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, MIT Press, Cambridge, Mass. and London, England, (1977)

    Google Scholar 

  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. Landin, P. J., "The Mechanical Evaluation of Expressions," Computer Jour., 6, (1964) pp.308–320.

    Google Scholar 

  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. Robinson, E., and Rosolini, G., Categories of Partial Maps, Manuscript, submitted for publication.

    Google Scholar 

  13. Hoehnke, H-J., "On Partial Algebras," Colloquia Mathematica Societatis Janos Bolyai, 29. Universal Algebra, Esztergom (Hungary), 1977. pp 373–412.

    Google Scholar 

  14. Hoehnke, H.-J., "On Yoneda-Schreckenberger's Embedding of a class of Monoidal Categories," 1985, submitted for publication.

    Google Scholar 

  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. 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. Lawvere, W., Functorial Semantics of Algebraic Theories, Proc. Nat. Acad. Sci., 21 (1963) pp 1–23.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

M. Main A. Melton M. Mislove D. Schmidt

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wagner, E.G. (1988). Semantics of block structured languages with pointers. In: Main, M., Melton, A., Mislove, M., Schmidt, D. (eds) Mathematical Foundations of Programming Language Semantics. MFPS 1987. Lecture Notes in Computer Science, vol 298. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-19020-1_4

Download citation

  • DOI: https://doi.org/10.1007/3-540-19020-1_4

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-19020-2

  • Online ISBN: 978-3-540-38920-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics