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.
Preview
Unable to display preview. Download preview PDF.
13. Bibliography
MacLane, S., Categories for the Working Mathematician, Springer-Verlag, (1971).
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).
Jensen, K., and Wirth, N., PASCAL User Manual and Report, 2nd Ed., Springer-Verlag, New York, Heidelberg, and Berlin, (1978)
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.
Wagner, E. G., "Algebraic Theories, Data Types, and Control Constructs," Fundamenta Informaticae IX (1986) 343–370.
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.
Milne, R. E., and Strachey, C., A Theory of Programming Language Semantics Champan and Hall, London, and John Wiley, New York, (1976)
Stoy, J. E., Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, MIT Press, Cambridge, Mass. and London, England, (1977)
Oles, F. J., A Category-Theoretic Approach to the Semantics of Programming Languages, PhD Dissertation, School of Computer Science, Syracuse University, August 1982.
Landin, P. J., "The Mechanical Evaluation of Expressions," Computer Jour., 6, (1964) pp.308–320.
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.
Robinson, E., and Rosolini, G., Categories of Partial Maps, Manuscript, submitted for publication.
Hoehnke, H-J., "On Partial Algebras," Colloquia Mathematica Societatis Janos Bolyai, 29. Universal Algebra, Esztergom (Hungary), 1977. pp 373–412.
Hoehnke, H.-J., "On Yoneda-Schreckenberger's Embedding of a class of Monoidal Categories," 1985, submitted for publication.
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.
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.
Lawvere, W., Functorial Semantics of Algebraic Theories, Proc. Nat. Acad. Sci., 21 (1963) pp 1–23.
Author information
Authors and Affiliations
Editor information
Rights 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