-
Notifications
You must be signed in to change notification settings - Fork 0
/
chap-26.texi
4733 lines (3939 loc) · 202 KB
/
chap-26.texi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
@node Glossary
@chapter Glossary
@menu
* Glossary Notation::
* Non-alphabetic::
* A::
* B::
* C::
* D::
* E::
* F::
* G::
* H::
* I::
* K::
* L::
* M::
* N::
* O::
* P::
* Q::
* R::
* S::
* T::
* U::
* V::
* W::
* Y::
@end menu
@node Glossary Notation
@section Glossary Notation
Each entry in this glossary has the following parts:
@itemize @bullet{}
@item the term being defined, set in boldface.
@item optional pronunciation, enclosed in square brackets and
set in boldface, as in the following example:
@pronounced{@Stress{a}@stress{list}}. The pronunciation key follows
@WebstersDictionary{}@TypographyCaveats{}.
@item the part or parts of speech, set in italics. If a term
can be used as several parts of speech, there is a separate definition
for each part of speech.
@item one or more definitions, organized as follows:
@itemize --
@item an optional number, present if there are several
definitions. Lowercase letters might also be used in cases where subdefinitions of
a numbered definition are necessary.
@item an optional part of speech, set in italics, present if the
term is one of several parts of speech.
@item an optional discipline, set in italics, present if the term
has a standard definition being repeated. For example, ``@Mathematics{}''
@item an optional context, present if this definition is
meaningful only in that context. For example, ``(of a @term{symbol})''.
@item the definition.
@item an optional example sentence. For example,
@gexample{This is an example of an example.}
@item optional cross references.
@end itemize
@end itemize
In addition, some terms have idiomatic usage in the Common Lisp
community which is not shared by other communities, or which is not
technically correct. Definitions labeled ``@Idiomatic{}'' represent
such idiomatic usage; these definitions are sometimes followed by an
explanatory note.
Words in @i{this font} are words with entries in the glossary.
Words in example sentences do not follow this convention.
When an ambiguity arises, the longest matching substring has precedence.
For example, ``@term{complex float}'' refers to a single glossary entry
for ``@term{complex float}'' rather than the combined meaning of the
glossary terms ``@term{complex}'' and ``@term{float}.''
Subscript notation, as in ``@i{something}[n]'' means that
the @i{n}th definition of ``@i{something}'' is intended. This
notation is used only in situations where the context might be insufficient
to disambiguate.
The following are abbreviations used in the glossary:
@multitable @columnfractions 0.25 0.7
@headitem Abbreviation@tab Meaning
@item @Adjective{} @tab adjective
@item @Adverb{} @tab adverb
@item @ANSI{} @tab compatible with one or more ANSI standards
@item @Computers{} @tab computers
@item @Idiomatic{} @tab idiomatic
@item @IEEE{} @tab compatible with one or more IEEE standards
@item @ISO{} @tab compatible with one or more ISO standards
@item @Mathematics{} @tab mathematics
@item @Traditional{} @tab traditional
@item @Noun{} @tab noun
@item @Verb{} @tab verb
@item @TransitiveVerb{} @tab transitive verb
@end multitable
@node Non-alphabetic
@unnumberedsec Non-alphabetic
@table @asis
@item @bglos{()}
@pronounced{@Stress{nil}}, @Noun{}
an alternative notation for writing the symbol@tie{}@nil{}, used to emphasize
the use of @term{nil} as an @term{empty list}.
@end table
@node A
@unnumberedsec A
@table @asis
@item @bglos{absolute} @anchor{glos-Absolute}
@Adjective{}
1. (of a @term{time})
representing a specific point in time.
2. (of a @term{pathname})
representing a specific position in a directory hierarchy.
See @ref{glos-relative, relative}.
@item @bglos{access} @Noun{}, @TransitiveVerb{} @anchor{glos-Accesses}
1. @TransitiveVerb{}@spc{}(a @term{place}, or @term{array})
to @term{read}@sub{1} or @term{write}@sub{1} the @term{value} of
the @term{place}
or an @term{element} of the @term{array}.
2. @Noun{}@spc{}(of a @term{place})
an attempt to @term{access}@sub{1} the @term{value} of the @term{place}.
@item @bglos{accessibility} @Noun{}
the state of being @term{accessible}.
@item @bglos{accessible} @Adjective{}@spc{} @anchor{glos-Accessible}
1. (of an @term{object}) capable of being @term{referenced}.
2. (of @term{shared slots} or @term{local slots} in an @term{instance} of
a @term{class}) having been defined by the @term{class}
of the @term{instance} or @term{inherited} from a
@term{superclass} of that @term{class}.
3. (of a @term{symbol} in a @term{package})
capable of being @term{referenced} without a @term{package prefix}
when that @term{package} is current, regardless of whether the
@term{symbol} is @term{present} in that @term{package} or is @term{inherited}.
@item @bglos{accessor} @Noun{}
an @term{operator} that performs an @term{access}.
See @ref{glos-reader, reader} and @term{writer}.
@item @bglos{active} @Adjective{}@spc{} @anchor{glos-Active}
1. (of a @term{handler}, a @term{restart}, or a @term{catch tag})
having been @term{established} but not yet @term{disestablished}.
2. (of an @term{element} of an @term{array})
having an index that is greater than or equal to zero,
but less than the @term{fill pointer} (if any).
For an @term{array} that has no @term{fill pointer},
all @term{elements} are considered @term{active}.
@item @bglos{actual adjustability}
@Noun{}@spc{}(of an @term{array})
a @term{generalized boolean} that is associated with the @term{array},
representing whether the @term{array} is @term{actually adjustable}.
See also @ref{glos-expressed adjustability, expressed adjustability} and @symbolref{adjustable-array-p, SYM}.
@item @bglos{actual argument} @Noun{}@spc{}@Traditional{}@spc{}
an @term{argument}.
@item @bglos{actual array element type} @Noun{}@spc{}(of an @term{array})
the @term{type} for which the @term{array} is actually specialized,
which is the @term{upgraded array element type} of
the @term{expressed array element type} of the @term{array}.
See the @term{function} @ref{array-element-type}.
@item @bglos{actual complex part type} @Noun{}@spc{}(of a @term{complex})
the @term{type} in which the real and imaginary parts of the @term{complex}
are actually represented, which is the @term{upgraded complex part type} of the
@term{expressed complex part type} of the @term{complex}.
@item @bglos{actual parameter} @Noun{}@spc{}@Traditional{}@spc{}
an @term{argument}.
@item @bglos{actually adjustable} @Adjective{}@spc{}(of an @term{array})
such that @symbolref{adjust-array, SYM} can adjust its characteristics
by direct modification.
A @term{conforming program} may depend on
an @term{array} being @term{actually adjustable}
only if either that @term{array} is known to have been @term{expressly adjustable}
or if that @term{array} has been explicitly tested by @symbolref{adjustable-array-p, SYM}.
@item @bglos{adjustability} @Noun{}@spc{}(of an @term{array})
1. @term{expressed adjustability}.
2. @term{actual adjustability}.
@item @bglos{adjustable} @Adjective{}@spc{}(of an @term{array})
1. @term{expressly adjustable}.
2. @term{actually adjustable}.
@item @bglos{after method} @Noun{}
a @term{method} having the @term{qualifier} @kwd{after}.
@item @bglos{alist} @pronounced{@Stress{@harda{}}@stress{list}}, @Noun{}@spc{}
an @term{association list}.
@item @bglos{alphabetic} @Noun{}, @Adjective{} @anchor{glos-Alphabetic}
1. @Adjective{}@spc{}(of a @term{character})
being one of the @term{standard characters} @f{A} through @f{Z}
or @f{a} through @f{z},
or being any @term{implementation-defined} character that has @term{case},
or being some other @term{graphic} @term{character}
defined by the @term{implementation} to be @term{alphabetic}@sub{1}.
2. a. @Noun{}
one of several possible @term{constituent traits} of a @term{character}.
For details, see @ref{Constituent Characters}@spc{}and @ref{Reader Algorithm}.
b. @Adjective{}@spc{}(of a @term{character})
being a @term{character}
that has @term{syntax type} @term{constituent} in the @term{current readtable}
and that has the @term{constituent trait} @term{alphabetic}[2a].
See @ref{ConstituentTraitsOfStdChars, Figure 2.8}.
@item @bglos{alphanumeric} @Adjective{}@spc{}(of a @term{character})
being either an @term{alphabetic}@sub{1} @term{character}
or a @term{numeric} character.
@item @bglos{ampersand} @Noun{}
the @term{standard character} that is called ``ampersand'' (@f{@ampers{}}).
See @ref{StdCharsThree, Figure 2.5}.
@item @bglos{anonymous} @Adjective{}@spc{}
1. (of a @term{class} or @term{function}) having no @term{name}
2. (of a @term{restart}) having a @term{name} of @nil{}.
@item @bglos{apparently uninterned} @Adjective{}@spc{}
having a @term{home package} of @nil{}. (An @term{apparently uninterned} @term{symbol}
might or might not be an @term{uninterned} @term{symbol}. @term{Uninterned} @term{symbols}
have a @term{home package} of @nil{}, but @term{symbols} which have been @term{uninterned}
from their @term{home package} also have a @term{home package} of @nil{},
even though they might still be @term{interned} in some other @term{package}.)
@item @bglos{applicable} @Adjective{}
1. (of a @term{handler}) being an @term{applicable handler}.
2. (of a @term{method}) being an @term{applicable method}.
3. (of a @term{restart}) being an @term{applicable restart}.
@item @bglos{applicable handler} @Noun{}@spc{}(for a @term{condition} being @term{signaled})
an @term{active} @term{handler} for which the associated type contains the
@term{condition}.
@item @bglos{applicable method} @Noun{}@spc{}(of a @term{generic function}
called with @term{arguments})
a @term{method} of the @term{generic function} for which the
@term{arguments} satisfy the @term{parameter specializers}
of that @term{method}.
See @ref{Selecting the Applicable Methods}.
@item @bglos{applicable restart} @Noun{}
1. (for a @term{condition})
an @term{active} @term{handler} for which the associated test returns
@term{true} when given the @term{condition} as an argument.
2. (for no particular @term{condition})
an @term{active} @term{handler} for which the associated test returns
@term{true} when given @nil{}@spc{}as an argument.
@item @bglos{apply} @TransitiveVerb{}@spc{}(a @term{function} to a @term{list}) @anchor{glos-Applies}
to @term{call} the @term{function} with arguments that are the @term{elements}
of the @term{list}.
@gexample{Applying the function @symbolref{+, F} to a list of integers returns
the sum of the elements of that list.}
@item @bglos{argument} @Noun{}
1. (of a @term{function}) an @term{object} which is offered as data
to the @term{function} when it is @term{called}.
2. (of a @term{format control}) a @term{format argument}.
@item @bglos{argument evaluation order} @Noun{}@spc{}
the order in which @term{arguments} are evaluated in a function call.
@gexample{The argument evaluation order for Common Lisp is left to right.}
See @ref{Evaluation}.
@item @bglos{argument precedence order} @Noun{}
the order in which the @term{arguments} to a @term{generic function} are
considered when sorting the @term{applicable methods} into precedence order.
@item @bglos{around method} @Noun{}
a @term{method} having the @term{qualifier} @kwd{around}.
@item @bglos{array} @Noun{} @anchor{glos-Array} @anchor{glos-Arrays}
an @term{object} @oftype{array}, which serves as a container for other
@term{objects} arranged in a Cartesian coordinate system.
@item @bglos{array element type} @Noun{}@spc{}(of an @term{array})
1. a @term{type} associated with the @term{array},
and of which all @term{elements} of the @term{array} are
constrained to be members.
2. the @term{actual array element type} of the @term{array}.
3. the @term{expressed array element type} of the @term{array}.
@item @bglos{array total size} @Noun{}@spc{}
the total number of @term{elements} in an @term{array}, computed by taking
the product of the @term{dimensions} of the @term{array}.
(The size of a zero-dimensional @term{array} is therefore one.)
@item @bglos{assign} @TransitiveVerb{}@spc{}(a @term{variable})
to change the @term{value} of the @term{variable} in a @term{binding}
that has already been @term{established}.
See the @term{special operator} @ref{setq}.
@item @bglos{association list}
@Noun{}@spc{}
a @term{list} of @term{conses} representing an association
of @term{keys} with @term{values}, where the @term{car} of each
@term{cons} is the @term{key} and the @term{cdr} is the
@term{value} associated with that @term{key}.
@item @bglos{asterisk} @Noun{}
the @term{standard character} that is variously called
``asterisk''
or ``star'' (@f{*}).
See @ref{StdCharsThree, Figure 2.5}.
@item @bglos{at-sign} @Noun{}
the @term{standard character} that is variously called
``commercial at''
or ``at sign'' (@f{@@}).
See @ref{StdCharsThree, Figure 2.5}.
@item @bglos{atom} @Noun{}
any @term{object} that is not a @term{cons}.
@gexample{A vector is an atom.}
@item @bglos{atomic} @Adjective{}@spc{}
being an @term{atom}.
@gexample{The number 3, the symbol @f{foo}, and @nil{}@spc{}are atomic.}
@item @bglos{atomic type specifier} @Noun{}
a @term{type specifier} that is @term{atomic}.
For every @term{atomic type specifier}, @i{x}, there is an equivalent
@term{compound type specifier} with no arguments supplied, @f{(@i{x})}.
@item @bglos{attribute} @Noun{}@spc{}(of a @term{character})
a program-visible aspect of the @term{character}.
The only @term{standardized} @term{attribute} of a @term{character}
is its @term{code}@sub{2}, but @term{implementations} are permitted to have
additional @term{implementation-defined} @term{attributes}.
See @ref{Character Attributes}.
@gexample{An implementation that support fonts
might make font information an attribute of a character,
while others might represent font information separately from characters.}
@item @bglos{aux variable} @Noun{} @anchor{glos-Aux variables}
a @term{variable} that occurs in the part of a @term{lambda list}
that was introduced by @keyref{aux}. Unlike all other @term{variables}
introduced by a @term{lambda list}, @term{aux variables} are not
@term{parameters}.
@item @bglos{auxiliary method} @Noun{}
a member of one of two sets of @term{methods}
(the set of @term{primary methods} is the other)
that form an exhaustive partition of the set of @term{methods}
on the @term{method}'s @term{generic function}.
How these sets are determined is dependent on the @term{method combination} type;
see @ref{Introduction to Methods}.
@end table
@node B
@unnumberedsec B
@table @asis
@item @bglos{backquote} @Noun{}
the @term{standard character} that is variously called
``grave accent''
or ``backquote'' (@f{`}).
See @ref{StdCharsThree, Figure 2.5}.
@item @bglos{backslash} @Noun{} @anchor{glos-Backslash}
the @term{standard character} that is variously called
``reverse solidus''
or ``backslash'' (@f{@bsl{}}).
See @ref{StdCharsThree, Figure 2.5}.
@item @bglos{base character} @Noun{} @anchor{glos-Base characters}
a @term{character}
@oftype{base-char}.
@item @bglos{base string} @Noun{}
a @term{string} @oftype{base-string}.
@item @bglos{before method} @Noun{}
a @term{method} having the @term{qualifier} @kwd{before}.
@item @bglos{bidirectional} @Adjective{}@spc{}(of a @term{stream})
being both an @term{input} @term{stream} and an @term{output} @term{stream}.
@item @bglos{binary}
@Adjective{}@spc{}
1. (of a @term{stream})
being a @term{stream} that has an @term{element type} that is a @subtypeof{integer}.
The most fundamental operation on a @term{binary} @term{input} @term{stream}
is @symbolref{read-byte, SYM} and on a @term{binary} @term{output} @term{stream}
is @symbolref{write-byte, SYM}.
See @ref{glos-character, character}.
2. (of a @term{file})
having been created by opening a @term{binary} @term{stream}.
(It is @term{implementation-dependent} whether this is an detectable aspect
of the @term{file}, or whether any given @term{character} @term{file} can be
treated as a @term{binary} @term{file}.)
@anchor{glos-bind}
@anchor{glos-binds}
@anchor{glos-binded}
@item @b{bind} @TransitiveVerb{}@spc{}(a @term{variable})
to establish a @term{binding} for the @term{variable}.
@item @bglos{binding} @Noun{}@spc{} @anchor{glos-Binding} @anchor{glos-Bindings}
an association between a @term{name} and that which the @term{name}
denotes.
@gexample{A lexical binding is a lexical association between a
name and its value.}
When the term @term{binding} is qualified by the name of a @term{namespace},
such as ``variable'' or ``function,''
it restricts the binding to the indicated namespace, as in:
@gexample{@symbolref{let, SYM} establishes variable bindings.}
or
@gexample{@symbolref{let, SYM} establishes bindings of variables.}
@item @bglos{bit} @Noun{}@spc{}
an @term{object} @oftype{bit};
that is, the @term{integer} @f{0} or the @term{integer} @f{1}.
@item @bglos{bit array} @Noun{}
a specialized @term{array} that is of @term{type} @f{(array bit)},
and whose elements are @oftype{bit}.
@item @bglos{bit vector} @Noun{}@spc{} @anchor{glos-Bit vectors}
a specialized @term{vector} that is @oftype{bit-vector},
and whose elements are @oftype{bit}.
@item @bglos{bit-wise logical operation specifier} @Noun{}@spc{}
an @term{object} which names one of the sixteen possible bit-wise logical
operations that can be performed by the @symbolref{boole, SYM} function,
and which is the @term{value} of exactly one of the
@term{constant variables}
@symbolref{boole-clr, SYM}, @symbolref{boole-set, SYM},
@symbolref{boole-1, SYM}, @symbolref{boole-2, SYM},
@symbolref{boole-c1, SYM}, @symbolref{boole-c2, SYM},
@symbolref{boole-and, SYM}, @symbolref{boole-ior, SYM},
@symbolref{boole-xor, SYM}, @symbolref{boole-eqv, SYM},
@symbolref{boole-nand, SYM}, @symbolref{boole-nor, SYM},
@symbolref{boole-andc1, SYM}, @symbolref{boole-andc2, SYM},
@symbolref{boole-orc1, SYM}, or @symbolref{boole-orc2, SYM}.
@item @bglos{block} @Noun{}
a named lexical @term{exit point},
@term{established} explicitly by @symbolref{block, SYM}
or implicitly by @term{operators}
such as @symbolref{loop, SYM}, @symbolref{do, SYM} and @symbolref{prog, SYM},
to which control and values may be transfered by
using a @symbolref{return-from, SYM} @term{form} with the name of the @term{block}.
@item @bglos{block tag} @Noun{}@spc{}
the @term{symbol} that, within the @term{lexical scope}
of a @symbolref{block, SYM} @term{form}, names the @term{block}
@term{established} by that @symbolref{block, SYM} @term{form}.
See @symbolref{return, SYM} or @symbolref{return-from, SYM}.
@item @bglos{boa lambda list} @Noun{}
a @term{lambda list} that is syntactically like an @term{ordinary lambda list},
but that is processed in ``@b{b}y @b{o}rder of @b{a}rgument'' style.
See @ref{Boa Lambda Lists}.
@item @bglos{body parameter} @Noun{}
a @term{parameter} available in certain @term{lambda lists}
which from the point of view of @term{conforming programs}
is like a @term{rest parameter} in every way except that it is introduced
by @keyref{body} instead of @keyref{rest}. (@term{Implementations} are
permitted to provide extensions which distinguish @term{body parameters}
and @term{rest parameters}---@eg{} the @term{forms} for @term{operators}
which were defined using a @term{body parameter} might be pretty printed
slightly differently than @term{forms} for @term{operators} which were
defined using @term{rest parameters}.)
@item @bglos{boolean}
@Noun{}@spc{}
an @term{object} @oftype{boolean};
that is, one of the following @term{objects}:
the symbol@tie{}@symbolref{t, SC}@spc{} (representing @term{true}),
or the symbol@tie{}@nil{}@spc{}(representing @term{false}).
See @ref{glos-generalized boolean}.
@item @bglos{boolean equivalent} @Noun{}@spc{}(of an @term{object} @mat{O@sub{1}})
any @term{object} @mat{O@sub{2}} that has the same truth value as @mat{O@sub{1}}
when both @mat{O@sub{1}} and @mat{O@sub{2}} are viewed as @term{generalized booleans}.
@anchor{glos-bound}
@anchor{glos-bounds}
@anchor{glos-boundes}
@anchor{glos-bounding}
@item @b{bound}
@Adjective{}, @TransitiveVerb{}@spc{}
1. @Adjective{}@spc{}having an associated denotation in a @term{binding}.
@gexample{The variables named by a @symbolref{let, SYM} are bound within
its body.}
See @ref{glos-unbound, unbound}.
2. @Adjective{}@spc{}having a local @term{binding} which
@term{shadows}@sub{2} another.
@gexample{The variable @symbolref{*print-escape*, SYM} is bound while in
the @symbolref{princ, SYM} function.}
3. @TransitiveVerb{}@spc{}the past tense of @term{bind}.
@item @bglos{bound declaration} @Noun{}@spc{}
a @term{declaration} that refers to or is associated with a @term{variable}
or @term{function} and that appears within the @term{special form}
that @term{establishes} the @term{variable} or @term{function},
but before the body of that @term{special form}
(specifically, at the head of that @term{form}'s body).
(If a @term{bound declaration} refers to a @term{function} @term{binding} or
a @term{lexical variable} @term{binding}, the @term{scope} of
the @term{declaration} is exactly the @term{scope} of that
@term{binding}. If the @term{declaration} refers to a
@term{dynamic variable} @term{binding}, the @term{scope} of
the @term{declaration} is what the @term{scope} of the
@term{binding} would have been if it were lexical rather than dynamic.)
@item @bglos{bounded} @Adjective{}@spc{}(of a @term{sequence} @mat{S},
by an ordered pair
of @i{bounding indices} @mat{i@sub{start}} and @mat{i@sub{end}})
restricted to a subrange of the @term{elements} of @mat{S} that includes each @term{element}
beginning with (and including) the one indexed by @mat{i@sub{start}} and
continuing up to (but not including) the one indexed by @mat{i@sub{end}}.
@item @bglos{bounding index} @Noun{}@spc{}(of a @term{sequence} with @term{length} @mat{n})
either of a conceptual pair of @term{integers}, @mat{i@sub{start}} and @mat{i@sub{end}},
respectively called the ``lower bounding index'' and ``upper bounding index'',
such that @mat{0 @leq{} i@sub{start} @leq{} i@sub{end} @leq{} n}, and which therefore delimit
a subrange of the @term{sequence} @term{bounded} by @mat{i@sub{start}} and @mat{i@sub{end}}.
@item @bglos{bounding index designator} (for a @term{sequence})
one of two @term{objects} that, taken together as an ordered pair,
behave as a @term{designator} for @i{bounding indices} of the @term{sequence};
that is, they denote @i{bounding indices} of the @term{sequence},
and are either:
an @term{integer} (denoting itself) and @nil{}@spc{}
(denoting the @term{length} of the @term{sequence}),
or two @term{integers} (each denoting themselves).
@item @bglos{break loop} @Noun{}
A variant of the normal @term{Lisp read-eval-print loop} that is recursively
entered, usually because the ongoing @term{evaluation} of some other @term{form}
has been suspended for the purpose of debugging. Often, a @term{break loop}
provides the ability to exit in such a way as to continue the suspended computation.
See the @term{function} @ref{break}.
@item @bglos{broadcast stream} @Noun{}
an @term{output} @term{stream} @oftype{broadcast-stream}.
@item @bglos{built-in class} @Noun{}
a @term{class} that is a @term{generalized instance} @ofclass{built-in-class}.
@item @bglos{built-in type} @Noun{}
one of the @term{types} in @ref{StandardizedAtomicTypeSpecs, Figure 4.2}.
@item @bglos{byte} @Noun{}
1. adjacent bits within an @term{integer}.
(The specific number of bits can vary from point to point in the program;
see the @term{function} @ref{byte}.)
2. an integer in a specified range.
(The specific range can vary from point to point in the program;
see the @term{functions} @ref{open} and @symbolref{write-byte, SYM}.)
@item @bglos{byte specifier} @Noun{}
An @term{object} of @term{implementation-dependent} nature
that is returned by @thefunction{byte} and
that specifies the range of bits in an @term{integer} to be used
as a @term{byte} by @term{functions} such as @symbolref{ldb, SYM}.
@end table
@node C
@unnumberedsec C
@table @asis
@item @bglos{cadr} @pronounced{@Stress{ka}@stress{d@schwa{} r}}, @Noun{}@spc{}(of an @term{object})
the @term{car} of the @term{cdr} of that @term{object}.
@item @bglos{call} @TransitiveVerb{}, @Noun{}@spc{}
1. @TransitiveVerb{}@spc{}(a @term{function} with @term{arguments})
to cause the @term{code} represented by that @term{function} to be
@term{executed} in an @term{environment} where @term{bindings} for
the @term{values} of its @term{parameters} have been @term{established}
based on the @term{arguments}.
@gexample{Calling the function @symbolref{+, F} with the arguments
@f{5} and @f{1} yields a value of @f{6}.}
2. @Noun{}@spc{}a @term{situation} in which a @term{function} is called.
@item @bglos{captured initialization form} @Noun{}
an @term{initialization form} along with the @term{lexical environment}
in which the @term{form} that defined the @term{initialization form}
was @term{evaluated}.
@gexample{Each newly added shared slot is set to the result of evaluating
the captured initialization form for the slot that was specified
in the @symbolref{defclass, SYM} form for the new class.}
@item @bglos{car} @Noun{}
1. a. (of a @term{cons})
the component of a @term{cons} corresponding to the first
@term{argument} to @symbolref{cons, F}; the other component is the
@term{cdr}.
@gexample{The function @symbolref{rplaca, SYM} modifies the car of a cons.}
b. (of a @term{list})
the first @term{element} of the @term{list}, or @nil{}@spc{}if the
@term{list} is the @term{empty list}.
2. the @term{object} that is held in the @term{car}@sub{1}.
@gexample{The function @symbolref{car, SYM} returns the car of a cons.}
@item @bglos{case} @Noun{}@spc{}(of a @term{character}) @anchor{glos-Case}
the property of being either @term{uppercase} or @term{lowercase}.
Not all @term{characters} have @term{case}.
@gexample{The characters @f{#@bsl{}A} and @f{#@bsl{}a} have case,
but the character @f{#@bsl{}@dollar{}} has no case.}
See @ref{Characters With Case}@spc{}and @thefunction{both-case-p}.
@item @bglos{case sensitivity mode} @Noun{}
one of the @term{symbols}
@kwd{upcase}, @kwd{downcase}, @kwd{preserve}, or @kwd{invert}.
@item @bglos{catch} @Noun{}
an @term{exit point} which is @term{established} by a @symbolref{catch, SYM}
@term{form} within the @term{dynamic scope} of its body,
which is named by a @term{catch tag},
and to which control and @term{values} may be @i{thrown}.
@item @bglos{catch tag} @Noun{}
an @term{object} which names an @term{active} @term{catch}.
(If more than one @term{catch} is active with the same @term{catch tag},
it is only possible to @term{throw} to the innermost such @term{catch}
because the outer one is @term{shadowed}@sub{2}.)
@item @bglos{cddr} @pronounced{@Stress{k\.ud}@schwa{} @stress{d@schwa{} r}} or
@pronounced{@Stress{k@schwa{}}@stress{d\.ud@schwa{} r}}, @Noun{}@spc{}
(of an @term{object})
the @term{cdr} of the @term{cdr} of that @term{object}.
@item @bglos{cdr} @pronounced{@Stress{k\.u}@stress{d@schwa{} r}}, @Noun{}@spc{}
1. a. (of a @term{cons})
the component of a @term{cons} corresponding to the second @term{argument}
to @symbolref{cons, F}; the other component is the @term{car}.
@gexample{The function @symbolref{rplacd, SYM} modifies the cdr of a cons.}
b. (of a @term{list} @mat{L@sub{1}})
either the @term{list} @mat{L@sub{2}} that contains
the @term{elements} of @mat{L@sub{1}} that follow after the first,
or else @nil{}@spc{}if @mat{L@sub{1}} is the @term{empty list}.
2. the @term{object} that is held in the @term{cdr}@sub{1}.
@gexample{The function @symbolref{cdr, SYM} returns the cdr of a cons.}
@item @bglos{cell}
@Noun{}@spc{}@Traditional{}@spc{}(of an @term{object})
a conceptual @term{slot} of that @term{object}.
The @term{dynamic variable} and global @term{function} @term{bindings}
of a @term{symbol} are sometimes referred to as its @term{value cell}
and @term{function cell}, respectively.
@item @bglos{character} @anchor{glos-Characters}
@Noun{}, @Adjective{}
1. @Noun{}@spc{}an @term{object} @oftype{character}; that is,
an @term{object} that represents a unitary token in an aggregate quantity of text;
see @ref{Character Concepts}.
2. @Adjective{}@spc{}
a. (of a @term{stream})
having an @term{element type} that is a @subtypeof{character}.
The most fundamental operation on a @term{character} @term{input} @term{stream}
is @symbolref{read-char, SYM} and on a @term{character} @term{output} @term{stream}
is @symbolref{write-char, SYM}. See @ref{glos-binary, binary}.
b. (of a @term{file})
having been created by opening a @term{character} @term{stream}.
(It is @term{implementation-dependent} whether this is an inspectable aspect
of the @term{file}, or whether any given @term{binary} @term{file} can be
treated as a @term{character} @term{file}.)
@item @bglos{character code} @Noun{}
1. one of possibly several @term{attributes} of a @term{character}.
2. a non-negative @term{integer} less than @thevalueof{char-code-limit}
that is suitable for use as a @term{character code}@sub{1}.
@item @bglos{character designator} @Noun{}
a @term{designator} for a @term{character}; that is,
an @term{object} that denotes a @term{character}
and that is one of:
a @term{designator} for a @term{string} of @term{length} one
(denoting the @term{character} that is its only @term{element}),
or a @term{character} (denoting itself).
@item @bglos{circular} @Adjective{}
1. (of a @term{list}) a @term{circular list}.
2. (of an arbitrary @term{object})
having a @i{component}, @term{element}, @term{constituent}@sub{2},
or @term{subexpression} (as appropriate to the context)
that is the @term{object} itself.
@item @bglos{circular list} @Noun{}@spc{}
a chain of @term{conses} that has no termination because some
@term{cons} in the chain is the @term{cdr} of a later @term{cons}.
@item @bglos{class} @Noun{} @anchor{glos-Classes}
1. an @term{object} that uniquely determines the structure and behavior of
a set of other @term{objects} called its @term{direct instances},
that contributes structure and behavior to a set of
other @term{objects} called its @term{indirect instances},
and that acts as a @term{type specifier} for a set of objects
called its @term{generalized instances}.
@gexample{The class @symbolref{integer, SYM} is a subclass of the class @symbolref{number, SYM}.}
(Note that the phrase ``the @term{class} @f{foo}'' is often substituted for
the more precise phrase ``the @term{class} named @f{foo}''---in both
cases, a @term{class} @term{object} (not a @term{symbol}) is denoted.)
2. (of an @term{object})
the uniquely determined @term{class} of which the @term{object} is
a @term{direct instance}.
See the @term{function} @ref{class-of}.
@gexample{The class of the object returned by @symbolref{gensym, SYM}
is @symbolref{symbol, SYM}.}
(Note that with this usage a phrase such as ``its @term{class} is @f{foo}''
is often substituted for the more precise phrase
``its @term{class} is the @term{class} named @f{foo}''---in both
cases, a @term{class} @term{object} (not a @term{symbol}) is denoted.)
@item @bglos{class designator} @Noun{}
a @term{designator} for a @term{class}; that is,
an @term{object} that denotes a @term{class}
and that is one of:
a @term{symbol} (denoting the @term{class} named by that @term{symbol};
see the @term{function} @ref{find-class})
or a @term{class} (denoting itself).
@item @bglos{class precedence list} @Noun{}
a unique total ordering on a @term{class}
and its @term{superclasses} that is consistent with the
@term{local precedence orders} for the @term{class} and its
@term{superclasses}.
For detailed information, see @ref{Determining the Class Precedence List}.
@anchor{glos-close}
@anchor{glos-closes}
@anchor{glos-closeing}
@item @b{close}
@TransitiveVerb{}@spc{}(a @term{stream})
to terminate usage of the @term{stream} as a source or sink of data,
permitting the @term{implementation} to reclaim its internal data structures,
and to free any external resources which might have been locked by the
@term{stream} when it was opened.
@item @bglos{closed} @Adjective{}@spc{}(of a @term{stream})
having been @term{closed} (see @ref{close}).
Some (but not all) operations that are valid on @term{open} @term{streams}
are not valid on @term{closed} @term{streams}.
See @ref{Open and Closed Streams}.
@item @bglos{closure} @Noun{}
a @term{lexical closure}.
@item @bglos{coalesce} @TransitiveVerb{}@spc{}(@term{literal} @term{objects} that are @term{similar})
to consolidate the identity of those @term{objects},
such that they become the @term{same}
@term{object}.
See @ref{Compiler Terminology}.
@item @bglos{code} @Noun{} @anchor{glos-Code}
1. @Traditional{}@spc{}
any representation of actions to be performed, whether conceptual
or as an actual @term{object}, such as
@term{forms},
@term{lambda expressions},
@term{objects} of @term{type} @term{function},
text in a @term{source file},
or instruction sequences in a @term{compiled file}.
This is a generic term;
the specific nature of the representation depends on its context.
2. (of a @term{character})
a @term{character code}.
@item @bglos{coerce} @TransitiveVerb{}@spc{}(an @term{object} to a @term{type}) @anchor{glos-Coerces}
to produce an @term{object} from the given @term{object},
without modifying that @term{object},
by following some set of coercion rules that must be specifically
stated for any context in which this term is used.
The resulting @term{object} is necessarily of the indicated @term{type},
except when that type is a @subtypeof{complex}; in that case,
if a @term{complex rational} with an imaginary part of zero would result,
the result is a @term{rational}
rather than a @term{complex}---see @ref{Rule of Canonical Representation for Complex Rationals}.
@item @bglos{colon} @Noun{}
the @term{standard character} that is called ``colon'' (@f{:}).
See @ref{StdCharsThree, Figure 2.5}.
@item @bglos{comma} @Noun{} @anchor{glos-Comma}
the @term{standard character} that is called ``comma'' (@f{,}).
See @ref{StdCharsThree, Figure 2.5}.
@item @bglos{compilation} @Noun{}
the process of @i{compiling} @term{code} by the @term{compiler}.
@item @bglos{compilation environment} @Noun{}@spc{}
1. An @term{environment} that represents information known by the
@term{compiler} about a @term{form} that is being @term{compiled}.
See @ref{Compiler Terminology}.
2. An @term{object} that represents the
@term{compilation environment}@sub{1}
and that is used as a second argument to a @term{macro function}
(which supplies a @term{value} for any @keyref{environment} @term{parameter}
in the @term{macro function}'s definition).
@item @bglos{compilation unit} @Noun{}
an interval during which a single unit of compilation is occurring.
See the @term{macro} @ref{with-compilation-unit}.
@item @bglos{compile} @TransitiveVerb{}@spc{}
1. (@term{code})
to perform semantic preprocessing of the @term{code}, usually optimizing
one or more qualities of the code, such as run-time speed of @i{execution}
or run-time storage usage. The minimum semantic requirements of compilation are
that it must remove all macro calls and arrange for all @term{load time values}
to be resolved prior to run time.
2. (a @term{function})
to produce a new @term{object} @oftype{compiled-function}
which represents the result of @i{compiling} the @term{code}
represented by the @term{function}. See the @term{function} @ref{compile}.
3. (a @term{source file})
to produce a @term{compiled file} from a @term{source file}.
See the @term{function} @ref{compile-file}.
@item @bglos{compile time} @Noun{}@spc{}
the duration of time that the @term{compiler} is processing @term{source code}.
@item @bglos{compile-time definition} @Noun{}
a definition in the @term{compilation environment}.
@item @bglos{compiled code} @Noun{}
1. @term{compiled functions}.
2. @term{code} that represents @term{compiled functions},
such as the contents of a @term{compiled file}.
@item @bglos{compiled file} @Noun{}
a @term{file} which represents the results of @i{compiling} the
@term{forms} which appeared in a corresponding @term{source file},
and which can be @term{loaded}. See the @term{function} @ref{compile-file}.
@item @bglos{compiled function} @Noun{}
an @term{object} @oftype{compiled-function}, which is a @term{function}
that has been @term{compiled}, which contains no references to @term{macros} that
must be expanded at run time, and which contains no unresolved references
to @term{load time values}.
@item @bglos{compiler} @Noun{}
a facility that is part of Lisp and that translates @term{code}
into an @term{implementation-dependent} form
that might be represented or @term{executed} efficiently.
The functions @symbolref{compile, SYM} and @symbolref{compile-file, SYM}
permit programs to invoke the @term{compiler}.
@item @bglos{compiler macro} @Noun{} @anchor{glos-Compiler macro} @anchor{glos-Compiler macros}
an auxiliary macro definition for a globally defined @term{function}
or @term{macro} which might or might not be called by any given
@term{conforming implementation} and which must preserve the semantics
of the globally defined @term{function} or @term{macro} but which might
perform some additional optimizations. (Unlike a @term{macro},
a @term{compiler macro} does not extend the syntax of @clisp{}; rather, it
provides an alternate implementation strategy for some existing syntax
or functionality.)
@item @bglos{compiler macro expansion} @Noun{}
1. the process of translating a @term{form} into another @term{form}
by a @term{compiler macro}.
2. the @term{form} resulting from this process.
@item @bglos{compiler macro form} @Noun{}
a @term{function form} or @term{macro form} whose @term{operator}
has a definition as a @term{compiler macro},
or a @symbolref{funcall, SYM} @term{form} whose first @term{argument} is a
@symbolref{function, SO} @term{form} whose @term{argument} is the @term{name}
of a @term{function} that has a definition as a @term{compiler macro}.
@item @bglos{compiler macro function} @Noun{}@spc{}
a @term{function} of two arguments, a @term{form} and an
@term{environment}, that implements @term{compiler macro expansion} by
producing either a @term{form} to be used in place of the original
argument @term{form} or else @nil{}, indicating that the original @term{form}
should not be replaced. See @ref{Compiler Macros}.
@item @bglos{complex} @Noun{} @anchor{glos-Complexes}
an @term{object} @oftype{complex}.
@item @bglos{complex float} @Noun{}
an @term{object} @oftype{complex} which has a @term{complex part type}
that is a @term{subtype} of @symbolref{float, SC}.
A @term{complex float} is a @term{complex},
but it is not a @term{float}.
@item @bglos{complex part type} @Noun{}@spc{}(of a @term{complex})
1. the @term{type} which is used to represent both the real part
and the imaginary part of the @term{complex}.
2. the @term{actual complex part type} of the @term{complex}.
3. the @term{expressed complex part type} of the @term{complex}.
@item @bglos{complex rational} @Noun{}
an @term{object} @oftype{complex} which has a @term{complex part type}
that is a @term{subtype} of @symbolref{rational, SC}.
A @term{complex rational} is a @term{complex}, but it is not a @term{rational}.
No @term{complex rational} has an imaginary part of zero because such a
number is always represented by @clisp{}@spc{}as an @term{object} @oftype{rational};
see @ref{Rule of Canonical Representation for Complex Rationals}.
@item @bglos{complex single float} @Noun{}
an @term{object} @oftype{complex} which has a @term{complex part type}
that is a @term{subtype} of @symbolref{single-float, SYM}.
A @term{complex single float} is a @term{complex},
but it is not a @term{single float}.
@item @bglos{composite stream} @Noun{}
a @term{stream} that is composed of one or more other @term{streams}.
@gexample{@symbolref{make-synonym-stream, SYM} creates a composite stream.}
@item @bglos{compound form} @Noun{}
a @term{non-empty} @term{list} which is a @term{form}:
a @term{special form},
a @term{lambda form},
a @term{macro form},
or a @term{function form}.
@item @bglos{compound type specifier} @Noun{}
a @term{type specifier} that is a @term{cons};
@ie{} a @term{type specifier} that is not an @term{atomic type specifier}.
@gexample{@f{(vector single-float)} is a compound type specifier.}
@item @bglos{concatenated stream} @Noun{}
an @term{input} @term{stream} @oftype{concatenated-stream}.
@item @bglos{condition} @Noun{} @anchor{glos-Condition} @anchor{glos-Conditions}
1. an @term{object} which represents a @term{situation}---usually,
but not necessarily, during @term{signaling}.
2. an @term{object} @oftype{condition}.
@item @bglos{condition designator} @Noun{}
one or more @term{objects} that, taken together,
denote either an existing @term{condition} @term{object}
or a @term{condition} @term{object} to be implicitly created.
For details, see @ref{Condition Designators}.
@item @bglos{condition handler} @Noun{}
a @term{function} that might be invoked by the act of @term{signaling},
that receives the @term{condition} being signaled as its only argument,
and that is permitted to @term{handle} the @term{condition}
or to @term{decline}. See @ref{Signaling}.
@item @bglos{condition reporter} @Noun{}
a @term{function} that describes how a @term{condition} is to be printed
when the @term{Lisp printer} is invoked while @symbolref{*print-escape*, SYM}
is @term{false}. See @ref{Printing Conditions}.
@item @bglos{conditional newline} @Noun{}
a point in output where a @term{newline} might be inserted at the
discretion of the @term{pretty printer}.
There are four kinds of @term{conditional newlines},
called ``linear-style,''
``fill-style,''
``miser-style,''
and ``mandatory-style.''
See the @term{function} @ref{pprint-newline} and @ref{Dynamic Control of the Arrangement of Output}.
@item @bglos{conformance} @Noun{}
a state achieved by proper and complete adherence to the requirements
of this specification. See @ref{Conformance}.
@item @bglos{conforming code} @Noun{} @anchor{glos-Conforming code}
@term{code} that is all of part of a @term{conforming program}.
@item @bglos{conforming implementation} @Noun{} @anchor{glos-Conforming implementations}
an @term{implementation}, used to emphasize complete and correct
adherance to all conformance criteria.
A @term{conforming implementation} is capable of