Object Oriented Programming A Unified Foundation

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.

Object Oriented Programming A Unified Foundation

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.

More Books:

Object-Oriented Programming A Unified Foundation
Language: en
Pages: 366
Authors: Giuseppe Castagna
Categories: Computers
Type: BOOK - Published: 2011-09-26 - Publisher: Birkhäuser

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
Object-Oriented Programming A Unified Foundation
Language: en
Pages: 366
Authors: Giuseppe Castagna
Categories: Computers
Type: BOOK - Published: 1997 - Publisher: Nelson Thornes

The language Simula is the precursor of all object-oriented languages. It imposed a certain style of programming that was followed by all class-based object-oriented languages until the appearance of the so-called multiple-dispatching languages such as CLOS, in which a different style of object-oriented programming arose. This new style was induced
Object-Oriented Programming A Unified Foundation
Language: en
Pages: 366
Authors: Giuseppe Castagna
Categories: Computers
Type: BOOK - Published: 2012-12-06 - Publisher: Springer Science & Business Media

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
ECOOP '99 - Object-Oriented Programming
Language: en
Pages: 538
Authors: Rachid Guerraoui
Categories: Computers
Type: BOOK - Published: 1999-06-02 - Publisher: Springer Science & Business Media

\My tailor is Object-Oriented". Most software systems that have been built - cently are claimed to be Object-Oriented. Even older software systems that are still in commercial use have been upgraded with some OO ?avors. The range of areas where OO can be viewed as a \must-have" feature seems to
Foundations of Object-oriented Languages
Language: en
Pages: 384
Authors: Kim B. Bruce
Categories: Computers
Type: BOOK - Published: 2002 - Publisher: MIT Press

A presentation of the formal underpinnings of object-oriented programming languages.