# Semantics of block structured languages with pointers

## 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## Preview

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