Typing -- protection against errors

Untyped -- flexibility

Exceptions to monomorphic typing:


slide: The nature of types


Flavors of polymorphism


slide: Flavors of polymorphism


Inheritance -- incremental modification

Example: R = { a1, a2 } + { a2, a3 } = { a1, a2, a3 }

Independent attributes: M disjoint from P
Overlapping attributes: M overrules P

Dynamic binding


slide: Inheritance as incremental modification