Jurij Mihelič, William Steingartner, Valerie Novitzká. 2021. A denotational semantics of a concatenative/compositional programming language. Acta Polytechnica Hungarica, 18(4).

Remarkable PDF

Original PDF



A distinctive feature of concatenative languages is that a concatenation of their programs corresponds to a composition of meaning functions of these programs. At first programming in such languages may resemble assembly language programming. In spite of this, they also exhibit many similarities to high-level functional programming languages. We start our presentation with the definition of the language syntax. The main part of the paper consists of the definition of a meaning of programs in the language. To do this we employ a well-known method based on denotational semantics. We also informally introduce the language and its meaning as well as present its background and provide motivation for the work. Our exposition is accompanied by many examples and in the last part of the paper, we also discuss various language extensions and identify several proposals for further research


A great rendering of the semantics of a stack-based language.