On Understanding Types,
Data Abstraction, and Polymorphism

Wolfgang Schreiner
Research Institute for Symbolic Computation
Johannes Kepler University, Linz, Austria
  • From Untyped to Typed Universes
  • Static and Strong Typing
  • Kinds of Polymorphism
  • Universal Polymorphism
  • Ad-hoc Polymorphism
  • Overloading and Coercion
  • Preview of Fun
  • The Untyped lambda-Calculus
  • The Typed lambda-Calculus
  • Basic and Structured Types
  • Record Types
  • Variant Types and Recursion
  • Universal Quantification
  • Polymorphic Functions
  • Parametric Types
  • Recursive Definitions
  • Existential Quantification
  • Information Hiding
  • Use of Packages
  • Packages and Abstract Data Types
  • Ada Packages
  • Hidden Data Structures
  • Hidden Data Types
  • Combining Universal and Existential Quantification
  • Concrete Stacks
  • Generic Element Types
  • Hiding the Representation
  • Another Example
  • Quantification and Modules
  • Parametric Modules
  • A Circle Package
  • A Rectangle Package
  • A Figures Package
  • Bounded Quantification
  • Record Types and Inheritance
  • Bounded Quantification 'n Subtyping
  • Object Oriented Programming
  • Bounded Existential Quantification and Partial Abstraction
  • Points and Tiles
  • Points and Tiles
  • Summary
  • References

  • Wolfgang.Schreiner@risc.uni-linz.ac.at
    Id: understand.tex,v 1.1 1996/06/12 09:38:21 schreine Exp schreine