Communications of the ACM
The treatment of data types in EL1
Communications of the ACM
GEDANKEN—a simple typeless language based on the principle of completeness and the reference concept
Communications of the ACM
Revised report on the algorithm language ALGOL 60
Communications of the ACM
Data types as values: polymorphism, type-checking, encapsulation
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
Preliminary Ada reference manual
ACM SIGPLAN Notices - Preliminary Ada reference manual
LISP 1.5 Programmer's Manual
Informal introduction to ALGOL 68
Informal introduction to ALGOL 68
Hi-index | 0.00 |
A data definition facility is presented that provides a consistent description of both primitive and user data. It is based on a value-oriented storage model which carefully distinguishes between values and objects. It is values that are typed in this model, and operations of the type work explicitly on the values. Objects are accessible only via reference values. Objects are described via descriptors called templates, which ultimately yield reference type values. Operations, both primitive and user-defined, are part of a "machine interface," and all executable language constructs can ultimately be defined as explicit operations of the interface. Importantly, these operations must respect the typing constraints imposed by both the primitive types and the user extensions. The interactions of definition facility, storage model, and execution model are illustrated via a series of examples in which commonly used data constructs are defined.