Object-Oriented Programming A Unified Foundation

  • Giuseppe Castagna

Part of the Progress in Theoretical Computer Science book series (PTCS)

Table of contents

  1. Front Matter
    Pages i-xviii
  2. Introduction

    1. Front Matter
      Pages 1-1
    2. Giuseppe Castagna
      Pages 3-33
    3. Giuseppe Castagna
      Pages 35-76
  3. Simple Typing

    1. Front Matter
      Pages 77-77
    2. Giuseppe Castagna
      Pages 79-111
    3. Giuseppe Castagna
      Pages 113-151
    4. Giuseppe Castagna
      Pages 167-176
    5. Giuseppe Castagna
      Pages 177-191
    6. Giuseppe Castagna
      Pages 193-220
    7. Giuseppe Castagna
      Pages 221-233
    8. Giuseppe Castagna
      Pages 235-258
  4. Second order

    1. Front Matter
      Pages 259-259
    2. Giuseppe Castagna
      Pages 261-273
    3. Giuseppe Castagna
      Pages 275-311
    4. Giuseppe Castagna
      Pages 323-327
  5. Back Matter
    Pages 329-366

About this book


by Luea Cardelli Ever since Strachey's work in the 1960's, polymorphism has been classified into the parametric and overloading varieties. Parametric polymorphism has been the subject of extensive study for over two decades. Overloading, on the other hand, has often been considered too ad hoc to deserve much attention even though it has been, in some form, an ingredient of virtually every programming lan­ guage (much more so than parametric polymorphism). With the introduction of object-oriented languages, and in particular with multiple-dispatch object-oriented languages, overloading has become less of a programming convenience and more of a fundamental feature in need of proper explanation. This book provides a compelling framework for the study of run-time over­ loading and of its interactions with subtyping and with parametric polymorphism. The book also describes applications to object-oriented programming. This new framework is motivated by the relatively recent spread of programming languages that are entirely based on run-time overloading; this fact probably explains why this subject was not investigated earlier. Once properly understood, overloading reveals itself relevant also to the study of older and more conventional (single­ dispatch) object-oriented languages, clarifying delicate issues of covariance and contravariance of method types, and of run-time type analysis. In the final chapters, a synthesis is made between parametric and overloading polymorphism.


Inform algorithms class object object-oriented programming overloading polymorphism programming

Authors and affiliations

  • Giuseppe Castagna
    • 1
  1. 1.CNRS, LIENSParisFrance

Bibliographic information