|
|
Авторизация |
|
|
Поиск по указателям |
|
|
|
|
|
|
|
|
|
|
Keene S.E. — Object-Oriented Programming in Common Lisp |
|
|
Предметный указатель |
&key and initialize-instance 159
*Current-process* 34
:accessor slot option 22 128
:allocation slot option 67 128
:default-initargs class option 158 161
:documentation class option 21
:documentation slot option 128
:initarg slot option 21 24 128 157
:initform slot option 22 24 129 157
:reader slot option 21 128
:type slot option 47 129
:writer slot option 22 128
Accessor generic functions 22 223
Accessor generic functions vs. slot-value 72
Accessor generic functions, automatically generated methods for 22 70
Accessor generic functions, defining primary methods for 71
Accessor generic functions, examples of calling 26
Accessor generic functions, examples of specializing 71
Add-method 255
After-methods 11 223
After-methods, examples of defining 40 149 159 162
After-methods, order of execution 50
Aggregate classes 46 205 223
Aggregate classes, examples of defining 47
Applicability of individual methods 94
Applicability of methods 33
Applicability of multi-methods 77
Argument precedence order 100
Arguments 223
Arguments passed to methods 34
arguments vs. parameters 31
Around-methods 102 224
Around-methods and built-in method combination types 108
Around-methods, examples of defining 103
Auxiliary methods 11 71
Basic classes 20 39 224
Before-methods 11 224
Before-methods, examples of defining 52
Before-methods, order of execution 50
Before-methods, signaling errors in 52
Behavior of instances see "Methods"
Built-in classes 84 224
Built-in method combination types 107 224
Built-in-class 219
Call-method 254
call-next-method 233
Call-next-method in around-methods 102
Call-next-method in primary methods 105
Change-class 151 234
Check-keyword-arguments 255
Class options 21
Class precedence lists 118 224
Class precedence lists, examples of calculating 119 121 124
Class precedence lists, how CLOS calculates 118
Class precedence lists, purpose of 13
Class-name 134 234
Class-of 235
Classes 5 224
Classes for Common Lisp types 83
Classes used as type specifiers 26
Classes, built-in 84
Classes, examples of redefining 144
Classes, inheritance of 117
Classes, instantiable 205
Classes, names of 134
Classes, objects representing 133
Classes, redefining 140
client programs 1 225
Client programs that use locks 53
CLOS implementation 225
CLOS rules see "Rules"
Common Lisp and CLOS 14
Constructors 163 225
Constructors, advantages of 24 163
Constructors, examples of defining 24 48 146 150
Core framework 101
Creating instances 24 155
Creating instances, examples of initializing and 157
Customizing inherited behavior 40
Declarations in generic functions 179
Declarative programming techniques 102 111
Decoding for remote evaluation 95
Default methods 20 39 225
Default methods for standard-object 42
Default methods, reasons for overriding system-supplied methods 41
Default methods, system-supplied method for describe 39
Default methods, system-supplied method for print-object 37
Defclass 235
Defclass, examples of calling 20 22
Defgeneric 28 237
Define-method-combination 110 239 254
Defmethod 240
Defstruct 219
describe 241
Describe, examples of specializing 39 40 49 56
Design goals of CLOS 215
Direct subclasses 7 225
Direct superclasses 7 21 225
Documentation 255
Documentation of classes 21
Documentation of generic functions 28
Documenting protocols 219
Documenting, the implementation of CLOS programs 212
Effective method 105 225
Efficiency of generic dispatch 44 112
Elements of CLOS programs 5
Elements of CLOS programs, defining 131
Elements of CLOS programs, examples of redefining 144
Elements of CLOS programs, names and objects 134
Elements of CLOS programs, objects representing 133
Elements of CLOS programs, order of defining 131
Elements of CLOS programs, redefining 139
Encoding for remote evaluation 86
Ensure-generic-function 255
Errors, in print-object methods 38
Errors, invalid initarg name 156
Errors, invalid keyword arguments to a generic function 132
Errors, no applicable method 26 50
Errors, procedural definitions for errors 166
Errors, reading an unbound slot 75
Errors, signaling in before-methods 52
Errors, unrecognized method qualifier 107
Errors, when lambda-lists are not congruent 132
Errors, when standard method combination is used 115
Examples of individual methods (remote evaluation) 95
Examples of methods for Common Lisp types (remote evaluation) 86
Examples of multi-methods (installation) 75
Examples of procedural definitions 167 207
Examples of procedural definitions (initialization) 165
Examples of redefining CLOS elements (triangles) 144
Examples, developing a simple CLOS program (locking) 17
Examples, developing an advanced CLOS program (streams) 171
Extensions to CLOS programs, extending the installation program 82
Extensions to CLOS programs, extending the locking program 45
Extensions to CLOS programs, extending the remote-evaluation program 93
Extensions to CLOS programs, extending the streams program 207
Extensions to CLOS programs, planning for future 63 212
External perspective on CLOS programs 31 60 62 150 177
External perspective on CLOS programs and constructors 163
Find-class 134
Find-method 136 242
functional level 134 221
Functional level, examples of using 136
General rule of method applicability 98
Generic dispatch 9 44 226
Generic dispatch of standard method combination type 113
Generic dispatch, controlling the 101
Generic dispatch, efficiency of 44 112
Generic dispatch, illustration of 12
Generic dispatch, summary of 112
| Generic functions 8 226
Generic functions vs. ordinary Lisp functions 8
Generic functions, creating 29
Generic functions, declarations in 179
Generic functions, distributed implementation of 8
Generic functions, names of 135
Generic functions, objects representing 133
Generic functions, parameter patterns of 132
Generic functions, purpose of using defgeneric 28
Generic functions, redefining 143
Generic functions, returned values of 115
Generic functions, syntax of calling 8
Generic-flet 253
Generic-function 135 253
Generic-labels 253
Guidelines on controlling the generic dispatch 111
Guidelines on designing class organizations 125
Guidelines on designing protocols 62
Guidelines on using inheritance of slot options 129
Identity, of instances 6
Identity, of methods 135
Imperative programming techniques 102 111
implementation 226
Individual methods 94 226
Individual methods, applicability of 94
Individual methods, examples of defining 95
Individual methods, precedence of 94
inheritance 13 226
Inheritance from standard-object and t 84 117
Inheritance of :default-initargs class option 161
Inheritance of class options 237
Inheritance of classes 117
Inheritance of methods 98
Inheritance of slots and slot options 127
Inheritance, alternate paradigms of 218
Inheritance, single versus multiple 14
Initargs 155 160 168 226
Initargs, declaring the validity of 160 170
Initargs, defaulting of 156 161
Initialization arguments see "Initargs"
Initialization methods see "Initialize-instance"
Initialize-instance 167 242
Initialize-instance and &key 159
Initialize-instance and :allow-other-keys 160
Initialize-instance, default behavior of 156
Initialize-instance, examples of specializing 159
Installation example 75
Instances 5 227
Instances, changing the class of 151
instances, creating 24
Instances, identity of 6
Instances, printed representation of 37
Instances, type of 26
Instantiable classes 205
INTERFACE 27 227
Internal perspective on CLOS programs 31 60 62 150 178
Invalid-method-error 254
Lambda-lists 227
Lambda-lists of generic functions 28
Lambda-lists of methods 32 34
Lambda-lists, congruence of generic functions and methods 132
Local slots 6 66 227
Local slots vs. methods 68
Locks 17
Locks, analyzing the inheritance of 42
Locks, class precedence lists of 43
Locks, classes that represent 19
Locks, controlling the printed representation of 37
Locks, deadlock 45
Locks, processes and 34
Locks, summary of the lock classes 56
Locks, terminology of 17
Macro level 134 221
Make-instance 155 243
Make-instance vs. constructors 163
Make-instance, arguments to 155
Make-instance, examples of calling 24 157
Make-instance, summary of 156
Make-instances-obsolete 255
Make-method 254
Metaclasses 219 221 227
Metaobject level 221
Metaobject protocol 219
Metaobjects 220
Method combination types 105 228
Method combination types, built-in 107
Method combination types, defining new 109
Method combination types, progn 106
Method combination types, standard 106
Method qualifiers 41 113
Method-combination-error 254
Method-qualifiers 254
METHODS 10 227
Methods for Common Lisp types 82 86
Methods, applicabilty of 33
Methods, default methods 20 39
Methods, identity of 135
methods, inheritance of 98
Methods, objects representing 133
Methods, qualifiers of 41 228
Methods, redefining 143
Methods, removing definitions of 136
Methods, returned values of 11 115
Methods, roles of 11 228
mixin classes 46 228
Most-specific-first order 50
Most-specific-last order 50
Multi-methods 75 228
Multi-methods, applicability of 77
Multi-methods, checking arguments with 76
Multi-methods, precedence of 79
multiple inheritance 14 228
Names 134
Names of classes 134
Names of generic functions 135
Names of parameter specializers 136
naming issues 30
Nesting of before- and after-methods 50
Next method 105 115 233 244
Next-method-p 244
No-applicable-method 166 254
No-next-method 166 254
Objects representing CLOS elements 133
Operator method combination types 107 229
Order of before- and after-methods 50
Order of defining CLOS elements 131
Order of methods in standard method combination 113
Order of slots stored in memory 8
Order, most-specific-first 50
Order, most-specific-last 50
Overriding inherited methods 37 42
Packages 61 135
Parameter patterns of generic functions 29 132
Parameter specializers 136 229
Parameter specializers, objects representing 133
Parameter specializers, rule of ranking the precedence of 99
Parameters 229
parameters vs. arguments 31
Parameters, defaulting optional parameters of methods 33 36
Parameters, specialized 32
Portability of CLOS programs 216 222
Precedence 13
Precedence of classes 118
Precedence of individual methods 94
Precedence of multi-methods 79
Precedence, argument precedence order 100
Primary methods 11 229
Primary methods and built-in method combination types 108
Primary methods, call-next-method and 105
Print-object 244
|
|
|
Реклама |
|
|
|