gbeta - a Language with Virtual Attributes, Block Structure, and Propagating, Dynamic Inheritance
DOI:
https://doi.org/10.7146/dpb.v29i549.7654Abstract
A language design development process is presented which leads to a language, gbeta, with a tight integration of virtual classes, general block structure, and a multiple inheritance mechanism based on coarse-grained structural type equivalence. From this emerges the concept of propagating specialization. The power lies in the fact that a simple expression can have far-reaching but well-organized consequences, e.g., in one step causing the combination of families of classes, then by propagation the members of those families, and finally by propagation the methods of the members. Moreover, classes are first class values which can be constructed at run-time, and it is possible to inherit from classes whether or not they are compile-time constants, and whether or not they were created dynamically. It is also possible to change the class and structure of an existing object at run-time, preserving object identity. Even though such dynamism is normally not seen in statically type-checked languages, these constructs have been integrated without compromising the static type safety of the language.Downloads
Published
2000-05-01
How to Cite
Ernst, E. (2000). gbeta - a Language with Virtual Attributes, Block Structure, and Propagating, Dynamic Inheritance. DAIMI Report Series, 29(549). https://doi.org/10.7146/dpb.v29i549.7654
Issue
Section
Articles
License
Articles published in DAIMI PB are licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.