A Paradigmatic Object-Oriented Programming Language: Design, Static Typing and Semantics (1993)
| Venue: | Journal of Functional Programming |
| Citations: | 110 - 9 self |
BibTeX
@ARTICLE{Bruce93aparadigmatic,
author = {Kim B. Bruce},
title = {A Paradigmatic Object-Oriented Programming Language: Design, Static Typing and Semantics},
journal = {Journal of Functional Programming},
year = {1993},
volume = {4},
pages = {127--206}
}
OpenURL
Abstract
In order to illuminate the fundamental concepts involved in object-oriented programming languages, we describe the design of TOOPL, a paradigmatic, statically-typed, functional, object-oriented programming language which supports classes, objects, methods, hidden instance variables, subtypes, and inheritance. It has proven to be quite difficult to design such a language which has a secure type system. A particular problem with statically type checking object-oriented languages is designing type-checking rules which ensure that methods provided in a superclass will continue to be type correct when inherited in a subclass. The type-checking rules for TOOPL have this feature, enabling library suppliers to provide only the interfaces of classes with actual executable code, while still allowing users to safely create subclasses. In order to achieve greater expressibility while retaining type-safety, we choose to separate the inheritance and subtyping hierarchy in the language. The design of...







