TY - JOUR
T1 - Algebraic specification of data types
T2 - A synthetic approach
AU - Lehmann, Daniel J.
AU - Smyth, Michael B.
PY - 1981/12
Y1 - 1981/12
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=0000803927&partnerID=8YFLogxK
U2 - 10.1007/BF01752392
DO - 10.1007/BF01752392
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:0000803927
SN - 0025-5661
VL - 14
SP - 97
EP - 139
JO - Mathematical Systems Theory
JF - Mathematical Systems Theory
IS - 1
ER -