Algebraic specification of data types: A synthetic approach

Daniel J. Lehmann*, Michael B. Smyth

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

88 Scopus citations

Abstract

A mathematical interpretation is given to the notion of a data type, which allows procedural data types and circularly defined data types. This interpretation seems to provide a good model for what most computer scientists would call data types, data structures, types, modes, clusters or classes. The spirit of this paper is that of McCarthy [43] and Hoare [18]. The mathematical treatment is the conjunction of the ideas of Scott on the solution of domain equations [34], [35], and [36] and the initiality property noticed by the ADJ group (ADJ [2] and [3]). The present work adds operations to the data types proposed by Scott and proposes an alternative to the equational specifications proposed by Guttag [14], Guttag and Horning [15] and ADJ [2]. The advantages of such a mathematical interpretation are the following: throwing light on some ill-understood constructs in high-level programming languages, easing the task of writing correct programs and making possible proofs of correctness for programs or implementations.

Original languageEnglish
Pages (from-to)97-139
Number of pages43
JournalMathematical Systems Theory
Volume14
Issue number1
DOIs
StatePublished - Dec 1981

Fingerprint

Dive into the research topics of 'Algebraic specification of data types: A synthetic approach'. Together they form a unique fingerprint.

Cite this