This chapter treats polymorphism
from a foundational perspective.
It characterizes abstract inheritance
as employed in knowledge representation
and proceeds with a formal definition
of the subtype relation, culminating in
a family of calculi for a type theoretical
analysis of the constructs employed in
object-oriented programming.
The features studied include generic types,
overloading, data hiding and self-references.
Due to the formal background needed, the
project assignments listed below have
the flavor of research projects and must be
considered for advanced students only.
Possible assignments are
Since some of this work has already be done (see below),
one may simply advise students to study
these efforts.
Hints
Project assignments
Comments
[]
readme
course
preface
1
2
3
4
5
6
7
8
9
10
11
12
appendix
lectures
resources

draft version 0.1 (15/7/2001)