The C++ programming language
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Classification of actions or inheritance also for methods
European conference on object-oriented programming on ECOOP '87
Virtual classes: a powerful mechanism in object-oriented programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Strong typing of object-oriented languages revisited
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Object-oriented programming in the BETA programming language
Object-oriented programming in the BETA programming language
Open issues in object-oriented programming—a Scandinavian perspective
Software—Practice & Experience - Special issue on object-oriented programming and technology
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
The Java programming language (2nd ed.)
The Java programming language (2nd ed.)
Communications of the ACM
Object Oriented Software Development Environments: The Mjolner Approach
Object Oriented Software Development Environments: The Mjolner Approach
Abstraction mechanisms in the BETA programming language
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Statically Safe Alternative to Virtual Types
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Information and Computation - FOOL VII
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
Towards a Unified Programming Language
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Virtual Classes and Their Implementation
CC '01 Proceedings of the 10th International Conference on Compiler Construction
The when, why and why not of the BETA programming language
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Modules as objects in newspeak
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Hi-index | 0.01 |
Virtual classes and nested classes are distinguishing features of BETA. Nested classes originated from Simula, but until recently they have not been part of main stream object- oriented languages. C++ has a restricted form of nested classes and they were included in Java 1.1. Virtual classes is the BETA mechanism for expressing generic classes and virtual classes is an alternative to parameterized classes. There has recently been an increasing interest in virtual classes and a number of proposals for adding virtual classes to other languages, extending virtual classes, and unifying virtual classes and parameterized classes have been made. Although virtual classes and nested classes have been used in BETA for more than a decade, their implementation has not been published. The purpose of this paper is to contribute to the understanding of virtual classes and nested classes by presenting the central elements of the semantic analysis used in the Mjølner BETA compiler.