Contents
Series Forward vii
Introduction 1
I Objects and Subtypes
1. User-Defined Types and Procedural Data Structures as
Complementary Approaches to Data Abstraction 13
John C. Reynolds
2. Using Category Theory to Design Implicit Conversions
and Generic Operators 25
John C. Reynolds
II Type Inference 65
3. Type Inference for Records in a Natural Extension of ML
Didier Re'my 67
4. Type Inference for Objects with Instance Variables and
Inheritance.
Mitchell Wand 97
5. Static Type Inference for Parametric Classes
Atsushi Ohori and Peter Buneman 121
III Coherence 149
6. A Modest Model of Records, Inheritance and
Bounded Quantification
Kim Bruce and Guiseppe Longo 151
7. Inheritance as Implicit Coercion
Val Breazu-Tannen, Thierry Coquand, Carl A. Gunter,
and Andre Scedrov 197
8. Coherence of Subsumption, Minimum Typing and
Type-Checking in F<=
Pierre-Louis Curien and Giorgio Ghelli 247
IV Record Calculi 293
9. Operations on Records
Luca Cardelli and John C. Mitchell 295
10. Typing Record Concatenation for Free
Didier Re'my 351
11. Extensible Records in a Pure Calculus of Subtyping
Luca Cardelli 373
12. Bounded Quantification is Undecidable
Benjamin C. Pierce 427
V Inheritance 461
13. Two Semantic Models of Object-Oriented Languages
Sam Kamin and Uday Reddy 463
14. Inheritance is Not Subtyping
William R. Cook, Walter L. Hill and Peter S. Canning 497
15. Toward a Typed Foundation for Method Specialization
and Inheritance
John C. Mitchell 519
Contributors 547