An edition of A theory of objects (1996)

A theory of objects

  • 1 Want to read
Not in Library

My Reading Lists:

Create a new list

Check-In

×Close
Add an optional check-in date. Check-in dates are used to track yearly reading goals.
Today

  • 1 Want to read

Buy this book

Last edited by MARC Bot
August 2, 2024 | History
An edition of A theory of objects (1996)

A theory of objects

  • 1 Want to read

The authors take a novel approach to understanding object-oriented languages by introducing object calculi and developing a theory of objects around them. The book covers both the semantics of objects and their typing rules, and explains a range of object-oriented concepts, such as self, dynamic dispatch, classes, inheritance, prototyping, subtyping, covariance and contravariance, and method specialization. (From back-cover copy)

Publish Date
Publisher
Springer
Language
English
Pages
396

Buy this book

Edition Availability
Cover of: A theory of objects
A theory of objects
1996, Springer
in English

Add another edition?

Book Details


First Sentence

"This book develops a theory of objects as a foundation for object-oriented languages and programming. (Preface, v) Procedural languages are generally well understood; their constructs are by now standard, and their formal underpinnings are solid. (Prologue, 1)"

Table of Contents

Preface, v
Prologue, 1
. Review: Object-Oriented Features
. 1: Object Orientation, 7
Objects, 7
Reuse, 8
Classifying Features, 9
. 2: Class-Based Languages, 11
Classes and Objects, 11
Method Lookup, 13
Subclasses and Inheritance, 15
Subsumption and Dynamic Dispatch, 17
Type Information, Lost and Found, 19
Covariance, Contravariance, and Invariance, 20
Method Specialization, 22
Self Type Specialization, 23
. 3: Advanced Class-Based Features, 25
Object Types, 25
Distinguishing Subclassing from Subtyping, 27
Type Parameters, 28
Subclassing without Subtyping, 30
Object Protocols, 32
. 4: Object-Based Languages, 35
Objects without Classes, 35
Prototypes and Clones, 36
Inheritance by Embedding and by Delegation, 38
Embedding, 39
Delegation, 42
Embedding versus Delegation, 45
Dynamic Inheritance and Mode-Swwitching, 46
Traits: From Prototypes back to Classes?, 47
Types for Object-Based Languages, 49
. 5: Modeling Object-Oriented Languages, 51
Reduction to Basic Mechanisms, 51
The Role of Method Update, 52
The Scope of this Book, 53
. Part I: Untyped and First-Order Calculi
. 6: Untyped Calculi, 57
Object Primitives, 57
The sigma-Calculus, 60
Functions as Objects, 66
Fixpoints, 68
Examples, 69
Traits, Classes, and Inheritance, 73
Interpretations of Objects, 76
. 7: First Order Calculi, 79
Formal Systems, 79
The Object Fragment, 80
Standard First-Order Fragments, 82
Examples, 84
Some Properties of Ob, 85
First-Order Equational Theories, 89
Functions and Fixpoints, 91
. 8: Subtyping, 93
Subtyping, 93
Examples, 95
Some Properties of Ob(1<:), 95
First-Order Equational Theories with Subtyping, 98
Classes and Inheritance, 100
Objects versus Records, 106
Variance Annotations, 109
. 9: Recursion, 113
Recursion, 113
Recursionand Subsumption, 115
Some Properties of Ob(1<:mu), 118
Examples, 121
The Shortcomings of First-Order Typing, 123
Towards the Type Self, 125
Dynamic Typing, 126
. 10: Untyped Imperative Calculi, 129
Syntax, 129
Fields, 130
Procedures, 131
Examples, 133
Operational Semantics, 135
. 11: First-Order Imperative Calculi, 141
Typing, 141
Examples of Typing, 142
Classes and Global Behavior Change, 144
Subject Reduction, 146
. 12: A First-Order Language, 153
Features, 153
Syntax, 154
Examples, 156
Typing, 159
Translation, 162
. Part II: Second-Order Calculi
. 13: Second-Order Calculi, 169
The Universal Quantifier, 169
The Existential Quantifier, 173
Variance Properties, 177
Variant Product and Function Types, Encoded in Ob(<:), 178
The Self Quantifier, 179
. 14: A Semantics, 185
The Untyped Universe, 185
Types in the Untyped Universe, 187
The Interpretation of Types and Typed Terms, 196
. 15: Definable Covariant Self Types, 201
sigma-Objects, 201
Examples, with Typing, 205
Binary Methods and the Covariance Requirement, 208
Classes and Inheritance, with Self, 209
Updating from the Outside, 210
Recoup, 212
Objects with Structural Invariants, 215
. 16 Primitive Covariant Self Types, 221
Primitive Self Types and Structural Rules, 221
Objects with Structural Rules, 222
Quantifiers, 227
Subject Reduction, 229
Examples, 233
Classes and Inheritance, with Primitive Self, 237
. 17 Interpretations of Object Calculi, 241
Syntax of Terms and Operational Semantics, 241
Typing with Self, 242
Quantifiers, 243
Examples, 245
Subject Reduction, 247
. 18 Interpretations of Object Calculi, 257
The Interpretation Problem, 257
Untyped Interpretations, 259
Typed Interpretations, 264
. 19: A Second-Order Language, 273
Features, 273
Syntax, 274
Examples, 276
Typing, 279
Translation, 282
. Part III: Higher-Order Calculi
. 20: A Higher-Order Calculus, 287
Syntax of Ob(omega<:mu), 287
Operational Semantics, 289
Typing, 290
Binary Methods, 294
Basic Properties of Ob(omega<:mu), 298
Subject Reduction, 301
. 21: A Language with Matching, 305
Features, 305
Syntax, 306
Examples, 307
Typing, 311
Translation, 315
. Epilogue, 325
. Appendix: Rules and Proofs
. A: Fragments, 329
Simple-Objects Fragments, 329
Other Typing Fragments, 330
Other Equational Fragments, 333
. B: Systems, 337
The Ob(1<:) Calculus, 337
The F(<:mu) Calculus, 339
The sigmaOb Calculus, 342
. C: Proofs
Proof of the Variance Lemma from Section 13.3, 347
Proof of the Variance Lemma from Section 16.4, 351
Deriving the Rules for sigma-Objects from Section 15.1.2, 352
Denotational Soundness of Equational Rules, 354
List of Figures, 363
List of Tables, 365
List of Notations, 371
List of Languages, 381
Bibliography, 383
Index, 391

Edition Notes

Includes bibliographical references (p. [383]-390) and index.

Published in
New York
Series
Monographs in computer science

Classifications

Dewey Decimal Class
005.13/1
Library of Congress
QA76.64 .A22 1996, QA75.5-76.95

The Physical Object

Pagination
xiii, 396 p. :
Number of pages
396

ID Numbers

Open Library
OL979607M
ISBN 10
0387947752
LCCN
96017038
OCLC/WorldCat
34557380
Goodreads
294115

Excerpts

This book develops a theory of objects as a foundation for object-oriented languages and programming. (Preface, v) Procedural languages are generally well understood; their constructs are by now standard, and their formal underpinnings are solid. (Prologue, 1)
added anonymously.

Community Reviews (0)

Feedback?
No community reviews have been submitted for this work.

Lists

This work does not appear on any lists.

History

Download catalog record: RDF / JSON / OPDS | Wikipedia citation
August 2, 2024 Edited by MARC Bot import existing book
October 5, 2021 Edited by ImportBot import existing book
November 23, 2020 Edited by MARC Bot import existing book
June 17, 2020 Edited by ImportBot import existing book
April 1, 2008 Created by an anonymous user Imported from Scriblio MARC record