An imperative language based on distributive categories. (English) Zbl 0788.18008

The purpose of the paper is to show that the appropriate categories for the analysis of imperative programming languages are distributive categories, namely categories with sums and products and a distributive law of products over sums. In this approach, imperative programming is the construction of dynamical systems from a given set of built-in data types and functions using the operations available in a distributive category. The behaviours of a program are the behaviours of the dynamical system. Programming languages are a family parameterized by the particular built-in functions of each language.


18D99 Categorical structures
68Q55 Semantics in the theory of computing
18C10 Theories (e.g., algebraic theories), structure, and semantics
Full Text: DOI


[1] Walters, Bull. Austral. Math. Soc. 40 pp 70– (1989)
[2] Arbib, Distibutie logic (1986)
[3] Lawvere, J. of Symbolic Logic 32 pp 562– (1967)
[4] Mac Lane, Categories for the working mathematician 5 (1971)
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.