Foundations of Object-oriented Languages: Types and Semantics

Front Cover
MIT Press, 2002 - Computers - 384 pages
0 Reviews

In recent years, object-oriented programming has emerged as the dominant computerprogramming style, and object-oriented languages such as C++ and Java enjoy wide use in academia andindustry. This text explores the formal underpinnings of object-oriented languages to help thereader understand the fundamental concepts of these languages and the design decisions behindthem.The text begins by analyzing existing object-oriented languages, paying special attention totheir type systems and impediments to expressiveness. It then examines two key features: subtypesand subclasses. After a brief introduction to the lambda calculus, it presents a prototypicalobject-oriented language, SOOL, with a simple type system similar to those of class-basedobject-oriented languages in common use. The text offers proof that the type system is sound byshowing that the semantics preserves typing information. It concludes with a discussion of desirablefeatures, such as parametric polymorphism and a MyType construct, that are not yet included in moststatically typed object-oriented languages.

 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Contents

Introduction
3
Fundamental Concepts of ObjectOriented Languages
17
Type Problems in ObjectOriented Languages
33
Adding Expressiveness to ObjectOriented Languages
49
Understanding Subtypes
71
Type Restrictions on Subclasses
89
Varieties of ObjectOriented Programming Languages
95
Historical Notes and References for Section I
113
A Simple Translational Semantics of Objects and Classes
201
Improved Semantics for Classes
225
SOOCs Type System Is Safe and Sound
239
Busternil Information Hiding and Multiple
263
Historical Notes and References for Section III
283
Adding Bounded Polymorphism to SOOC
291
Adding MyType to ObjectOriented Programming Languages
299
MatchBounded Polymorphism
331

Formal Language Descriptions and the Lambda Calculus
119
The Polymorphic Lambda Calculus
141
Historical Notes and References for Section II
167
SOOC a Simple ObjectOriented Language
173
Dropping Subtyping for Matching
349
Historical Notes and References for Section IV
363
Index
379
Copyright

Other editions - View all

Common terms and phrases

Popular passages

Page 372 - Trifonov. Type inference for recursively constrained types and its application to OOP. In Mathematical Foundations of Programming Semantics, New Orleans, volume 1 of Electronic Notes in Theoretical Computer Science.
Page 367 - America and F. Van Der Linden. A parallel object-oriented language with inheritance and subtyping.
Page 376 - Turner. Statically typed friendly functions via partially abstract types. Technical Report ECS-LFCS-93-256, University of Edinburgh, LFCS, April 1993. Also available as INRIA-Rocquencourt Rapport de Recherche No. 1899.
Page 372 - Godei à l'analyse, et son application à l'élimination des coupures dans l'analyse et la théorie des types. In JE Fenstad, editor, 2nd Scandinavian Logic Symposium, pages 63-92.
Page 375 - JC Mitchell and GD Plotkin. Abstract types have existential types. ACM Trans, on Programming Languages and Systems, 10(3):470-502, 1988.
Page 374 - Dinesh Katiyar, David Luckham, and John Mitchell. A type system for prototyping languages. In 21st ACM Symp.
Page 372 - J. Eifrig, S. Smith, V. Trifonov, and A. Zwarico. Application of OOP type theory: State, decidability, integration.
Page 374 - ACM, 1983. [MBL97] Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In Symposium on Principles of Programming Languages, pages 132-145, ACM, 1997.

References to this book

All Book Search results »

About the author (2002)

Kim B. Bruce is Frederick Latimer Wells Professor of Computer Science at Williams College.

Bibliographic information