On the algebraic definition of programming languages
- 1 January 1987
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 9 (1), 54-99
- https://doi.org/10.1145/9758.10501
Abstract
The algebraic specification of the semantics of programming languages is outlined. Particular emphasis is given to the problem of specifying least-fixed points by first-order conditional equations. To cover this issue, the theory of specifying partial heterogeneous algebras by abstract data types is slightly extended by a more general notion of homomorphism. In this framework the semantics of programming languages can be uniquely specified in a purely algebraic way, using particular models of a hierarchy of abstract types. This approach is demonstrated for a simple procedural programming language. Several increasingly complex versions of iterations are treated and analyzed with respect to their theoretical consequences. Finally, as a complementary algebraic technique, transformational semantics is explained and applied to our examples.Keywords
This publication has 8 references indexed in Scilit:
- On hierarchies of abstract data typesActa Informatica, 1983
- Partial abstract typesActa Informatica, 1982
- Algorithmic Language and Program DevelopmentPublished by Springer Nature ,1982
- Transformational semantics for concurrent programsInformation Processing Letters, 1980
- An algebraic definition for control structuresTheoretical Computer Science, 1980
- Existential quantifiers in abstract data typesLecture Notes in Computer Science, 1979
- Fully abstract models of typed λ-calculiTheoretical Computer Science, 1977
- Heterogeneous algebrasJournal of Combinatorial Theory, 1970