A semantics of multiple inheritance.
Proc. of the international symposium on Semantics of data types
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
ACM Transactions on Programming Languages and Systems (TOPLAS)
Software—Practice & Experience
The programming language Oberon
Software—Practice & Experience
Structural subtyping and the notion of power type
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type checking records and variants in a natural extension of ML
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Hi-index | 0.00 |
In this paper we present a generalization of Oberon's record type extensions. Our extension mechanism is orthogonally applicable to all the conventional data types found in Pascal-like languages. In order to balance the type system, we present an inverse concept, type reductions, that also can be applied to all the programmer-defined data types. These concepts provide flexible and powerful means for expressing universal subtyping and supertyping in a statically-typed programming language, as well as many possibilities for reuse of data types via a sound mathematical characterization of assignment statements. The presented ideas are under implementation in Alberich, a programming language that can be considered as a natural descendant of Oberon.