Abstract Types Defined as Classes of Variables.
NAVAL RESEARCH LAB WASHINGTON D C
Pagination or Media Count:
The concept of type has been used without a precise definition in discussions about programming languages for 20 years. Before the concept of user-defined data types was introduced, a definition was not necessary for discussions of specific programming languages. This report discusses a definition of type in which the concept of variable is considered primitive and types are defined as various equivalence classes of variables that may be legally and meaningfully substituted for one another in different contexts. Abstraction from the differences between two variables is then achieved by allowing the substitution of one variable in an equivalence class for another within specified contexts such as parameter substitution, assignment, and data sharing. The user of a language with an abstraction facility based on the preceding idea is free to group variables into types in ways meaningful to him but must state the conditions under which members of a group are equivalent. Several kinds of types are proposed for inclusion in such a language. Some examples are types defined by identical externally visible behavior equivalent specification, types whose members differ according to the value of one or more parameters, and types whose members have identical representations. The preceding approach to type definition has a strong effect on the possibilities for code sharing, data sharing, and parameter passing. New or unusual compiling techniques will probably be required to exploit these possibilities. Author
- Computer Programming and Software
- Computer Hardware