A Unified Type System for Object-Oriented Programming
Jens Palsberg,Michael I. Schwartzbach +1 more
- 01 Dec 1990
Vol. 19, Iss: 341
TL;DR: A new type system for object-oriented languages with assignments that enables separate compilation, and unifies, generalizes, and simplifies the type systems underlying SIMULA/BETA, C++, EIFFEL, and Typed Smalltalk.
read more
Abstract: We present a new type system for object-oriented languages with assignments. Types are sets of classes, subtyping is set inclusion, and genericity is class substitution. The type system enables separate compilation, and unifies, generalizes, and simplifies the type systems underlying SIMULA/BETA, C++, EIFFEL, and Typed Smalltalk, and the type system with type substitutions proposed by Palsberg and Schwartzbach, Classes and types are both modeled as node-labeled, ordered regular trees; this allows an efficient type-checking algorithm.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
What is Type-Safe Code Reuse?
Jens Palsberg,Michael I. Schwartzbach +1 more
- 15 Jul 1991
TL;DR: Subclassing is reuse of class definitions that is usually tied to the use of class names, thus relying on the order in which the particular classes in a program are created.
13
What is Type-Safe Code Reuse?
Jens Palsberg,Michael I. Schwartzbach +1 more
- 01 Dec 1990
TL;DR: It is argued that the structural notion of subclassing for typed languages is the most general mechanism which can be supported by the implementation while relying on the type-correctness of superclasses, and captures type-safe code reuse.
Object-Oriented Type Inference
Jens Palsberg,Michael I. Schwartzbach +1 more
- 01 Mar 1991
TL;DR: This work presents a new approach to inferring types in untyped object-oriented programs with inheritance, assignments, and late binding that guarantees that all messages are understood, annotates the program with type information, allows polymorphic methods, and can be used as the basis of an optimizing compiler.
Object-oriented type inference
Jens Palsberg,Michael I. Schwartzbach +1 more
- 01 Nov 1991
TL;DR: This work presents a new approach to inferring types in untyped object-oriented programs with inheritance, assignments, and late binding that guarantees that all messages are understood, annotates the program with type information, allows polymorphic methods, and can be used as the basis of an optimizing compiler.
References
•Book
The C++ Programming Language
Bjarne Stroustrup
- 01 Jan 1985
TL;DR: Bjarne Stroustrup makes C even more accessible to those new to the language, while adding advanced information and techniques that even expert C programmers will find invaluable.
8.1K
A theory of type polymorphism in programming
TL;DR: This work presents a formal type discipline for polymorphic procedures in the context of a simple programming language, and a compile time type-checking algorithm w which enforces the discipline.
2.6K
On understanding types, data abstraction, and polymorphism
Luca Cardelli,Peter Wegner +1 more
TL;DR: A λ-calculus-based model for type systems that allows us to explore the interaction among the concepts of type, data abstraction, and polymorphism in a simple setting, unencumbered by complexities of production programming languages is developed.
Related Papers (5)
Jens Palsberg,Michael I. Schwartzbach +1 more
- 01 Mar 1991
Jens Palsberg,Michael I. Schwartzbach +1 more
- 01 Jun 1991
Davide Ancona,Giovanni Lagorio +1 more
- 30 Jul 2009
Hans Leiß
- 12 Oct 1987