Foundations of Object-oriented Languages: Types and Semantics

Գրքի շապիկի երեսը

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.

Բովանդակություն

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
Հեղինակային իրավունք

Այլ խմբագրություններ - View all

Common terms and phrases

Սիրված հատվածներ

Էջ 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.
Էջ 367 - America and F. Van Der Linden. A parallel object-oriented language with inheritance and subtyping.
Էջ 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.
Էջ 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.
Էջ 375 - JC Mitchell and GD Plotkin. Abstract types have existential types. ACM Trans, on Programming Languages and Systems, 10(3):470-502, 1988.
Էջ 374 - Dinesh Katiyar, David Luckham, and John Mitchell. A type system for prototyping languages. In 21st ACM Symp.
Էջ 372 - J. Eifrig, S. Smith, V. Trifonov, and A. Zwarico. Application of OOP type theory: State, decidability, integration.
Էջ 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.

Վկայակոչումներ այս գրքի մասին

Հեղինակի մասին (2002)

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

Բիբլիոգրաֆիական տվյալներ