Data types are values

An important goal of programming language research is to isolate the fundamenal concepts of languages, those basic ideas that allow us to understand the relationships among various language features. This paper examines one of these underlying notions, that of <italic>data type</italic>, with particular attention to the treatment of <italic>generic</italic> or <italic>polymorphic</italic> procedures and static type-checking.

[1]  John C. Reynolds,et al.  Towards a theory of type structure , 1974, Symposium on Programming.

[2]  P. Martin-Löf Constructive mathematics and computer programming , 1984 .

[3]  N. S. Barnett,et al.  Private communication , 1969 .

[4]  Nancy Jean Mccracken,et al.  An investigation of a programming language with a polymorphic type structure. , 1979 .

[5]  John V. Guttag,et al.  Abstract data types and the development of data structures , 1976, Software Pioneers.

[6]  Craig Schaffert,et al.  Abstraction mechanisms in CLU , 1977, Commun. ACM.

[7]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[8]  Alan J. Demers,et al.  "Type-completeness" as a language principle , 1980, POPL '80.

[9]  Tony Hoare,et al.  Notes on Data Structuring , 1972 .

[10]  Per Martin-Löf,et al.  Constructive mathematics and computer programming , 1984 .

[11]  John V. Guttag,et al.  The specification and application to programming of abstract data types. , 1975 .

[12]  Alan J. Demers,et al.  Making variables abstract: an equational theory for Russell , 1983, POPL '83.

[13]  Alan J. Demers,et al.  Data types, parameters and type checking , 1980, POPL '80.

[14]  Narain H. Gehani,et al.  Some ideas on data types in high-level languages , 1976, CACM.

[15]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[16]  James E. Donahue On the Semantics of "Data Type" , 1977, SIAM J. Comput..

[17]  Mary Shaw,et al.  Abstraction and Verification in Alphard: Introduction to Language and Methodology , 1976 .

[18]  John V. Guttag,et al.  Abstract data types and the development of data structures , 1977, CACM.

[19]  J. J. Horning,et al.  Report on the programming language Euclid , 1977, SIGP.

[20]  Ms. Kathleen Jensen,et al.  PASCAL User Manual and Report , 1975, Lecture Notes in Computer Science.

[21]  John C. Reynolds,et al.  Syntactic control of interference , 1978, POPL.

[22]  Christopher T. Haynes A Theory of Data Type Representation Independence , 1984, Semantics of Data Types.

[23]  Christopher Strachey,et al.  A theory of programming language semantics , 1976 .

[24]  Dana S. Scott,et al.  Logic and programming languages , 1977, CACM.

[25]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[26]  James E. Donahue,et al.  An Informal Description of Russell , 1980 .

[27]  Dana S. Scott,et al.  Data Types as Lattices , 1976, SIAM J. Comput..

[28]  Gordon Plotkin,et al.  Semantics of Data Types , 1984, Lecture Notes in Computer Science.