Affiliation:
1. Department of Computer Science, 3190 MEB, University of Utah, Salt Lake City, UT
Abstract
A record data type can be
extended
by addition of more fields. The extended type is a subtype of the original, in that any value of the extended type can be regarded as a value of the original type by ignoring the additional fields. This results in a type hierarchy.
Milner [3] has proposed a polymorphic type system. With the Milner approach, the type of a function may contain type variables. This also results in a type hierarchy.
In a language with a polymorphic type system, if it is anticipated that a record type will need to be extended, then the record type can be defined to have a dummy
extension field
. In the parent type, the extension field will have
null
contents of type
void
. The type of the extension field can differ with different subtypes.
The approach can be extended to allow a type to be subtype of two or more parent types.
To a limited extent, this approach can be used in Ada and other languages with generic program units.
Publisher
Association for Computing Machinery (ACM)
Reference7 articles.
1. BIRTWISTLE G. M. DAHL O.-J. MYHRHAUG B. AND NYGAARD K. Simula Begin. Petrocelli 1973. BIRTWISTLE G. M. DAHL O.-J. MYHRHAUG B. AND NYGAARD K. Simula Begin. Petrocelli 1973.
2. ML with extended pattern matching and subtypes
3. A theory of type polymorphism in programming
4. Lecture Notes in Computer Science 201, J.-P;TURNER D.A.,1985
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Catch Me If You Can;Implementation and Application of Functional Languages;2011
2. Phantom types and subtyping;Journal of Functional Programming;2006-06-09
3. Practical Datatype Specializations with Phantom Types and Recursion Schemes;Electronic Notes in Theoretical Computer Science;2006-03
4. A framework for interoperability;Electronic Notes in Theoretical Computer Science;2001-11
5. Subtypes and quantification;ACM Transactions on Programming Languages and Systems;1991-10