Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
The C++ programming language
An introduction to Trellis/Owl
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
What object-oriented programming may be - and what it does not have to be
on ECOOP '88 (European Conference on Object-Oriented Programming)
Virtual classes: a powerful mechanism in object-oriented programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Interfaces for strongly-typed object-oriented programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Basic concepts in object oriented programming
OOPWORK '86 Proceedings of the 1986 SIGPLAN workshop on Object-oriented programming
Object-Oriented Software Construction
Object-Oriented Software Construction
The development of the SIMULA languages
ACM SIGPLAN Notices - Special issue: History of programming languages conference
Type substitution for object-oriented programming
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
CLOStrophobia: its etiology and treatment
ACM SIGPLAN OOPS Messenger
Introduction to the literature on object-oriented design, programming, and languages
ACM SIGPLAN OOPS Messenger
ACM SIGPLAN Notices
An algebraic theory of class specification
ACM Transactions on Software Engineering and Methodology (TOSEM)
ACM SIGPLAN Notices
ACM Computing Surveys (CSUR)
Consummating virtuality to support more polymorphism in C++
ACM SIGPLAN Notices
Semantic analysis of virtual classes and nested classes
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
On the role of language constructs for framework design
ACM Computing Surveys (CSUR)
PolyTOIL: A type-safe polymorphic object-oriented language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Programming as an Experience: The Inspiration for Self
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Towards a Unified Programming Language
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
Virtual Classes and Their Implementation
CC '01 Proceedings of the 10th International Conference on Compiler Construction
PolyTOIL: A Type-Safe Polymorphic Object-Oriented Language
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Type-safe relaxing of schema consistency rules for flexible modelling in OODBMS
The VLDB Journal — The International Journal on Very Large Data Bases
Safe dynamic multiple inheritance
Nordic Journal of Computing
The impact of software engineering research on modern progamming languages
ACM Transactions on Software Engineering and Methodology (TOSEM)
Traits: A mechanism for fine-grained reuse
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the third ACM SIGPLAN conference on History of programming languages
The when, why and why not of the BETA programming language
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Hi-index | 0.00 |
This paper is concerned with the relation between subtyping and subclassing and their influence on programming language design. Traditionally subclassing as introduced by Simula has also been used for defining a hierarchical type system. The type system of a language can be characterized as strong or weak and the type checking mechanism as static or dynamic. Parameterized classes in combination with a hierarchical type-system is an example of a language construct that is known to create complicated type checking situations. In this paper these situations are analyzed and several different solutions are found. It is argued that an approach with a combination of static and dynamic type checking gives a reasonable balance also here. It is also concluded that this approach makes it possible to base the type system on the class/subclass mechanism.