Foreword / Luca Cardelli -- 1. Background and notation -- 2. A quick overview -- 3. Object-oriented programming -- 4. The [lambda]&-calculus -- 5. Covariance and contravariance: conflict without a cause -- 6. Strong Normalization -- 7. Three variations on the theme -- 8. Interpretation of object-oriented languages -- 9. Imperative features and other widgets -- 10. Semantics -- 11. Introduction to part III -- 12. Second order overloading -- 13. Second order overloading and object-oriented programming -- 14. Conclusion -- App. A. Specification of KOOL -- App. B. Formal definition of the translation
Bibliography
Includes bibliographical references (pages [345]-357) and index