search for books and compare prices
Tables of Contents for Foundations of Object-Oriented Languages
Chapter/Section Title
Page #
Page Count
xi
Preface
xv
I Type Problems in Object-Oriented Languages
1
116
Introduction
3
14
Type systems in programming languages
4
2
Type checking and strongly typed languages
6
6
Focus on statically typed class-based languages
12
1
Foundations: A look ahead
13
4
Fundamental Concepts of Object-Oriented Languages
17
16
Objects, classes, and object types
17
5
Subclasses and inheritance
22
2
Subtypes
24
2
Covariant and contravariant changes in types
26
1
Overloading versus overriding methods
27
5
Summary
32
1
Type Problems in Object-Oriented Languages
33
16
Type checking object-oriented languages is difficult
33
2
Simple type systems are lacking in flexibility
35
13
Summary of typing problems
48
1
Adding Expressiveness to Object-Oriented Languages
49
22
GJ
49
11
Even more flexible typing with Eiffel
60
9
Summary
69
2
Understanding Subtypes
71
18
Subtyping for non-object types
72
11
Object types
83
1
Subtyping for class types
84
2
Summary
86
3
Type Restrictions on Subclasses
89
6
Allowable changes to method types
89
2
Instance variable types invariant in subclasses
91
1
Changing visibility
92
1
Summary
93
2
Varieties of Object-Oriented Programming Languages
95
22
Multi-methods vs. object-based vs. class-based languages
95
8
Well-known object-oriented languages
103
8
Summary
111
6
113
4
II Foundations: The Lambda Calculus
117
54
Formal Language Descriptions and the Lambda Calculus
119
22
The simply-typed lambda calculus
120
12
Adding pairs, sums, records, and references
132
8
Summary
140
1
The Polymorphic Lambda Calculus
141
30
Parameterized types and polymorphism
141
6
Recursive expressions and types
147
4
Information hiding and existential types
151
5
Adding subtypes to the polymorphic lambda calculus
156
9
Summary
165
6
167
4