Index
To search the index, use the search function
of your browser.
A
- abstract
- ~ class 11, 101
- ~ type 173
- bounded ~ type
- see partially ~ type
- partially ~ type 29, 173
- abstraction
- bounded type ~ 171
- constructor ~ 288
- operator ~ 288
- type ~ 169, 243
- application
- constructor ~ 288
- operator ~ 288
- type ~ 169, 243
- assumption (of rule)
- see premise judgment
- attribute (of object) 12
B
- binary method 31, 208, 294
- ~ in O-1/2/3 157, 274, 308
- bounded
- ~ abstract type
- see partially abstract type
- ~ existential quantifier 173
- ~ polymorphism 171
- ~ type abstraction 171
- ~ type parameterization 29
- ~ type variable 171
- ~ universal quantifier 171, 228, 243, 288
- ~ universal quantifier in O-2/3 274, 306
C
- call-by-
- ~keyword 67
- ~name 65
- ~value 65
- call-next-method 16
- class 11
- ~ encoding 73, 100, 124, 144, 209, 214, 237, 295
- ~ in O-1/2/3 153, 274, 307
- ~ selection 155, 275, 307
- ~ type in O-1/2/3 153, 274, 306
- abstract ~ 101
- concrete ~ 102
- leaf ~ 102
- root ~ 155, 276, 307
- class-based 1, 11, 155, 273, 305
- cloning 36, 130
- interpretation of ~ 260, 263, 271
- closed term 61
- closure 136, 147, 244
- coalesced sum 186
- complete metric space (of cupers) 188
- complete uniform per 187
- conclusion (of rule) 62, 79
- concrete class 102
- congruence rule 62
- constructor 287
- ~ abstraction 288
- ~ application 288
- context 62
- contractiveness 185, 188, 194, 197
- contravariance 21, 28, 94, 116, 178, 231
- ~ annotation 110, 223
- ~ of function types 21, 94, 112, 178
- ~ of universal quantifiers 171
- covariance 20, 94, 116, 178, 231
- ~ annotation 110, 223
- ~ of existential quantifiers 174
- ~ of object types 109
- ~ of product types 20, 111, 179
- ~ of record types 106, 112, 179
- ~ requirement for Self types 202, 223
- cuper (complete uniform per) 187
- cyclic-record interpretation 262, 267
D
- default parameters 67
- delegation 13, 39, 42
- dynamic ~ 46
- static ~ 46
- delegation-based 42
- denotational semantics 185
- derivation 63, 79
- disjoint union type 122
- dispatch
- dynamic ~ 18
- multiple ~ 53
- single ~ 53
- static ~ 18
- distance (for cupers) 188
- dynamic
- ~ dispatch 18
- ~ inheritance 46
- ~ typing 126
- see also typecase
E
- elder 108
- embedding 13, 39
- embedding-based 40
- embedding-retraction pair 186
- environment (for judgments) 79
- environment (semantic) 197
- type ~ 197
- equational theory 84
- ~ and self 90
- ~ for constructors 290
- ~ for existential quantifiers 174
- ~ for records 106
- ~ for recursive types 114
- ~ for Self quantifiers 181
- ~ for structural objects 217
- ~ for subtyping 98
- ~ for universal quantifiers 171
- ~ for
-objects 203
- first-order ~ 89
- untyped ~ 62
- error value 185
- existential
- ~ quantifier 173
- bounded ~ quantifier 173
F
- F-bounded parameterization 33
- field 12, 58
- ~ selection 52, 58, 130
- ~ update 52, 58, 130, 245
- imperative ~s 130, 245
- finiteness 187, 188
- fixpoint
- ~ of a function on cupers 188
- ~ of an operator 295
- ~ operator 68, 92
- formal system 79
- fragment 79
- equational ~ 84
- free variable 61, 118, 176
- fresh method 239
- function 66
- ~ encoding 66, 91, 112, 115, 131, 178
- function type 21, 83
- ~ encoding 91, 112, 115, 178
- contravariance of ~s 21, 94, 112, 178
- subtyping of ~s 21, 94
G
- grammar notation 60
- ground type 82
H
- higher-order
- ~ bounded parameterization 33
- ~ subtyping 295
- see also subconstructor
- host object 9, 38, 57
I
- implementation
- ~ of abstract type 173
- ~ of inheritance 14
- inclusion 287
- inheritance 9, 38
- ~ in O-1/2/3 153, 273, 305
- ~ of binary methods 30, 297, 305
- ~-is-not-subtyping 30
- dynamic ~ 46
- encoding of ~ 74, 100, 209, 238, 295
- encoding of multiple ~ 75, 101
- explicit ~ 39
- implementation of ~ 14
- implicit ~ 39
- mixin ~ 39
- multiple ~ 14, 16, 44, 48
- single ~ 16
- single ~ in O-1/2/3 153, 273, 305
- static ~ 46
- inner 16
- inspect 20
- instance interface 102, 239
- interface
- ~ of abstract type 173
- instance ~ 102
- subclass ~ 102, 239
- interpretation
- ~ of objects 257
- cyclic-record ~ 262, 267
- recursive-record ~ 78, 260, 265
- self-application ~ 76, 185, 259, 264, 271
- split-method ~ 263, 268
- state-application ~ 261, 266
- invariance 21, 94, 116
- ~ annotation 110, 223
- ~ of object types 94
- ~ of recursive types 116
- invariant
- object shape ~ 215
- recoup ~ 214
- structural ~ 216
- structural subtyping ~ 215
- invocation 13, 18, 39, 42, 52, 58, 59, 129
J
- judgment 62, 79
- valid ~ 80
K
- kind 287
L
- leaf class 102
- let 130, 245
- lifting 186
- location 136, 146, 242
M
- match-bound
- ~ quantified type 306
- ~ type abstraction 306
- ~ type application 306
- matching 33, 305
- method 8, 57, 153, 274, 307
- ~ extraction 14, 93, 106
- ~ invocation 13, 18, 39, 42, 52, 58, 59, 129
- ~ lookup 13
- ~ override 9, 74
- ~ override in O-1/2/3 153, 273, 307
- ~ specialization 22, 28, 239, 273, 282
- ~ suite 13
- ~ type 146, 247
- ~ update 14, 37, 52, 58, 59, 129, 210, 224, 241
- ~ update in O-1/2/3 153, 275, 307
- binary ~ 31, 208, 294
- binary ~ in O-1/2/3 157, 274, 308
- fresh ~ 239
- imperative ~ update 129, 241
- private ~ 102
- protected ~ 102
- public ~ 102
- recoup ~ 212
- virtual ~ 15
- metric space
- complete ~ (of cupers) 188
- minimum types 95, 118
- mode-switching 46, 49
- multiple
- ~ dispatch 53
- ~ inheritance 14, 16, 44, 48
- ~ subtyping 27
- encoding of ~ inheritance 75, 101
N
- narrow 20
- negative occurrence 177, 223
- new 12
- ~ in O-1/2/3 155, 275, 307
- see also class
- nonexpansiveness 188, 194, 197
O
- object 7, 57
- ~ extension 38, 60
- ~ in O-1/2/3 153, 273, 307
- ~ protocol 25
- ~ shape invariant 215
- ~ without class 35
- ~-orientation 7
- donor ~ 38
- host ~ 9, 38, 57
- prototype ~ 47
- structural ~ 216
- trait ~ 47
- -~ 201
- object type 26, 35, 80, 189, 288
- ~ in O-1/2/3 153, 273, 305
- ~ with Self 201, 222
- covariance of ~s 109
- invariance of ~s 94
- structural ~ 216
- subtyping of ~s 94
- -~ 201
- object-based 1, 35, 155, 273, 305
- occurrence
- negative ~ 177, 223
- positive ~ 177, 223
- operational semantics 64, 86, 120, 127, 135, 224, 228, 242,
244, 289
- operator
- ~ abstraction 288
- ~ application 288
- fixpoint of an ~ 295
- type ~ 287
- override 9, 74
- ~ in O-1/2/3 153, 273, 307
P
- parametric in Self 125, 211, 237, 274, 281
- parent link 42
- partial equivalence relation 187
- partially abstract type 29, 173
- per (partial equivalence relation) 187
- polymorphism 169, 274
- bounded ~ 171
- subtype ~ 17
- positive occurrence 177, 223
- pre-method 23, 73, 100, 144, 209, 214, 237, 297
- premise judgment 62, 79
- primitive semantics 58
- private method 102
- product type 20
- ~ encoding 111
- covariance of ~s 20, 111, 179
- projection 186
- protected method 102
- protocol 32
- prototype 36, 47
- public method 102
Q
- qua 16, 20
- quantifier
- bounded existential ~ 173
- bounded universal ~ 171, 228, 243, 288
- bounded universal ~ in O-2/3 274, 306
- existential ~ 173
- Self ~ 169, 179, 201, 269
- universal ~ 170
R
- rank 187, 188
- record 76, 106, 259
- ~ encoding 112
- record type 106, 179, 264
- ~ encoding 112, 179
- covariance of ~s 106, 112, 179
- subtyping of ~s 106
- recoup 212
- ~ invariant 214
- recursive type 113
- invariance of ~s 116
- recursive-record interpretation 78, 260, 265
- reduction 61
- weak ~ 64
- reparent 47
- representation type 173, 202
- resend 16
- result 64, 86, 120, 136, 242, 244, 289
- ~ typing 146, 248
- root class 155, 276, 307
- rule 79
- ~ naming 79
- congruence ~ 62
- structural ~ 172, 190, 216, 221, 243, 293
S
- scoping 61, 118, 176
- selection 52
- selection (of field) 52, 58, 130
- Self
- ~ quantifier 169, 179, 201, 269
- ~ type 24, 30, 125, 169, 201, 221, 242, 294
- ~ type in O-2/3 273, 305
- ~ type specialization 24
- see also method specialization
- parametric in ~ 125, 211, 237, 274, 281
- self 9, 57
- self-application
- ~ interpretation 76, 185, 259, 264, 271
- ~ semantics 185
- self-unfolding 202
- semantics
- denotational ~ 185
- operational ~ 64, 86, 120, 127, 135, 224, 228, 242, 244,
289
- self-application ~ 185
- shallow copy
- see cloning
- single
- ~ dispatch 53
- ~ inheritance 16
- ~ inheritance in O-1/2/3 153, 273, 305
- specialization
- method ~ 22, 28, 239, 273, 282
- Self type ~ 24
- split-method interpretation 263, 268
- stack 136, 242
- ~ type 247
- ~ typing 147, 248
- state-application interpretation 261, 266
- static dispatch 18
- store 136, 242
- ~ typing 146, 248
- structural
- ~ invariants 216
- ~ object 216
- ~ object type 216
- ~ rule 172, 190, 216, 221, 243, 293
- ~ subtyping 172, 190
- ~ subtyping invariant 215
- ~ update 172, 190, 222, 243, 293
- stuck 87, 138, 152
- subclass 15, 27, 30
- ~ in O-1/2/3 155, 273, 307
- ~ interface 102, 239
- see also class, inheritance
- subconstructor 287, 290
- see also higher-order subtyping
- subject reduction 86, 97, 121, 127, 146, 229, 247, 301
- suboperator 295
- subprotocol 32
- substitution 59, 61, 113, 120
- subsumption 18, 93
- ~ in O-1/2/3 154, 273, 305
- subtype polymorphism 17
- subtyping 18, 27, 30, 93
- ~ by type name 27
- ~ by type structure 27
- ~ for existential quantifiers 174
- ~ for function types 21, 94
- ~ for object types 94
- ~ for object types with primitive Self and variance 226
- ~ for object types with Self 204
- ~ for record types 106
- ~ for Self quantifiers 180
- ~ for universal quantifiers 171
- ~ for variance annotations 110
- ~ in O-1/2 153, 273
- higher-order ~ 295
- see also subconstructor
- multiple ~ 27
- structural ~ 172, 190
- sum, coalesced 186
- super 15
- ~ encoding 74, 101
- ~ in O-1/2/3 156, 276, 307
- syntax notation 60
T
- trait 47, 144
- ~ encoding 73, 101
- see also class encoding
- true type 18
- type
- ~ abstraction 169, 243
- ~ application 169, 243
- ~ operator 287
- ~ parameter 28
- ~ variable 113, 171
- abstract ~ 173
- bounded ~ parameterization 29
- bounded ~ variable 171
- bounded abstract ~
- see partially abstract ~
- disjoint union ~ 122
- dynamic ~ 126
- see also typecase
- environment (semantic) 197
- function ~ 21, 83
- method ~ 146, 247
- minimum ~s 95, 118
- object ~ 26, 35, 80, 189, 288
- object ~ in O-1/2/3 153, 273, 305
- object ~ with Self 201, 222
- partially abstract ~ 29, 173
- product ~ 20
- record ~ 106, 179, 264
- recursive ~ 113
- representation ~ 173, 202
- Self ~ 24, 30, 125, 169, 201, 221, 242, 294
- Self ~ in O-2/3 273, 305
- stack ~ 247
- store ~ 146, 248
- unique ~s 85
- -object ~ 201
- typecase 19, 23, 126
- ~ in O-1/2/3 156, 274, 311
- typing environment 79
U
- unfolding 202
- union type, disjoint 122
- unique types 85
- unit 122
- unit type 122
- universal
- ~ quantifier 170
- bounded ~ quantifier 171, 228, 243, 288
- bounded ~ quantifier in O-2/3 274, 306
- update
- field ~ 52, 58, 130, 245
- method ~ 14, 37, 52, 58, 59, 129, 210, 224, 241
- method ~ in O-1/2/3 153, 275, 307
V
- valid judgment 63, 80
- variance
- see co~, contra~, in~
- variance annotations 110, 124, 222
- ~ in O-1/2/3 154, 274, 307
- virtual method 15