User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
cl:glossary [2017/03/03 12:02]
phoe
cl:glossary [2020/05/31 12:00] (current)
Line 229: Line 229:
 ===aux variable=== ===aux variable===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​variable]]//​ that occurs in the part of a //​[[CL:​Glossary:​lambda list]]// that was introduced by ''&​body''​. Unlike all other //​[[CL:​Glossary:​variable|variables]]//​ introduced by a //​[[CL:​Glossary:​lambda-list]]//, //​[[CL:​Glossary:​aux variable|aux variables]]//​ are not //​[[CL:​Glossary:​parameter|parameters]]//​.+  * a //​[[CL:​Glossary:​variable]]//​ that occurs in the part of a //​[[CL:​Glossary:​lambda list]]// that was introduced by ''&​body''​. Unlike all other //​[[CL:​Glossary:​variable|variables]]//​ introduced by a //​[[CL:​Glossary:​lambda list]]//, //​[[CL:​Glossary:​aux variable|aux variables]]//​ are not //​[[CL:​Glossary:​parameter|parameters]]//​.
  
 ===auxiliary method=== ===auxiliary method===
Line 273: Line 273:
 ===binding=== ===binding===
 //n.// //n.//
-  * an association between a //​[[CL:​Glossary:​name]]//​ and that which the //​[[CL:​Glossary:​name]]//​ denotes. "A lexical binding is a lexical association between a name and its value."​ When the term //​[[CL:​Glossary:​binding]]//​ is qualified by the name of a //​[[CL:​Glossary:​namespace]]//,​ such as "​variable"​ or "​function,"​ it restricts the binding to the indicated namespace, as in: "​**[[CL:​Special Operators:​let]]** establishes variable bindings."​ or "​**[[CL:​Special Operators:​let]]** establishes bindings of variables."​+  * an association between a //​[[CL:​Glossary:​name]]//​ and that which the //​[[CL:​Glossary:​name]]//​ denotes. "A lexical binding is a lexical association between a name and its value."​ When the term //​[[CL:​Glossary:​binding]]//​ is qualified by the name of a //​[[CL:​Glossary:​name|namespace]]//,​ such as "​variable"​ or "​function,"​ it restricts the binding to the indicated namespace, as in: "​**[[CL:​Special Operators:​let]]** establishes variable bindings."​ or "​**[[CL:​Special Operators:​let]]** establishes bindings of variables."​
  
 ===bit=== ===bit===
Line 339: Line 339:
 ===break loop=== ===break loop===
 //n.// //n.//
-  * a variant of the normal //​[[CL:​Glossary:​Lisp read-eval-print loop]]// that is recursively entered, usually because the ongoing //​[[CL:​Glossary:​evaluation]]//​ of some other //​[[CL:​Glossary:​form]]//​ has been suspended for the purpose of debugging. Often, a //​[[CL:​Glossary:​break loop]]// provides the ability to exit in such a way as to continue the suspended computation. See **[[CL:​Functions:​break]]**.+  * a variant of the normal //​[[CL:​Glossary:​Lisp read-eval-print loop]]// that is //​[[CL:​Glossary:​recursion|recursively]]// entered, usually because the ongoing //​[[CL:​Glossary:​evaluation]]//​ of some other //​[[CL:​Glossary:​form]]//​ has been suspended for the purpose of debugging. Often, a //​[[CL:​Glossary:​break loop]]// provides the ability to exit in such a way as to continue the suspended computation. See **[[CL:​Functions:​break]]**.
  
 ===broadcast stream=== ===broadcast stream===
Line 439: Line 439:
 ===class=== ===class===
 //n.// //n.//
-  * 1. an //​[[CL:​Glossary:​object]]//​ that uniquely determines the structure and behavior of a set of other //​[[CL:​Glossary:​object|objects]]//​ called its //​[[CL:​Glossary:​direct instances]]//,​ that contributes structure and behavior to a set of other //​[[CL:​Glossary:​object|objects]]//​ called its //​[[CL:​Glossary:​indirect instances]]//,​ and that acts as a //​[[CL:​Glossary:​type specifier]]//​ for a set of objects called its //​[[CL:​Glossary:​generalized instances]]//​. "The class **[[CL:​Types:​integer]]** is a subclass of the class **[[CL:​Types:​number]]**."​ (Note that the phrase "the //​[[CL:​Glossary:​class]]//​ ''​foo''"​ is often substituted for the more precise phrase "the //​[[CL:​Glossary:​class]]//​ named ''​foo''"​ - in both cases, a //​[[CL:​Glossary:​class]]//​ //​[[CL:​Glossary:​object]]//​ (not a //​[[CL:​Glossary:​symbol]]//​) is denoted.)+  * 1. an //​[[CL:​Glossary:​object]]//​ that uniquely determines the structure and behavior of a set of other //​[[CL:​Glossary:​object|objects]]//​ called its //​[[CL:​Glossary:​direct instance|direct instances]]//,​ that contributes structure and behavior to a set of other //​[[CL:​Glossary:​object|objects]]//​ called its //​[[CL:​Glossary:​indirect instance|indirect instances]]//,​ and that acts as a //​[[CL:​Glossary:​type specifier]]//​ for a set of objects called its //​[[CL:​Glossary:​generalized instance|generalized instances]]//​. "The class **[[CL:​Types:​integer]]** is a subclass of the class **[[CL:​Types:​number]]**."​ (Note that the phrase "the //​[[CL:​Glossary:​class]]//​ ''​foo''"​ is often substituted for the more precise phrase "the //​[[CL:​Glossary:​class]]//​ named ''​foo''"​ - in both cases, a //​[[CL:​Glossary:​class]]//​ //​[[CL:​Glossary:​object]]//​ (not a //​[[CL:​Glossary:​symbol]]//​) is denoted.)
   * 2. (of an //​[[CL:​Glossary:​object]]//​) the uniquely determined //​[[CL:​Glossary:​class]]//​ of which the //​[[CL:​Glossary:​object]]//​ is a //​[[CL:​Glossary:​direct instance]]//​. See **[[CL:​Functions:​class-of]]**. "The class of the object returned by **[[CL:​Functions:​gensym]]** is **[[CL:​Types:​symbol]]**."​ (Note that with this usage a phrase such as "its //​[[CL:​Glossary:​class]]//​ is ''​foo''"​ is often substituted for the more precise phrase "its //​[[CL:​Glossary:​class]]//​ is the //​[[CL:​Glossary:​class]]//​ named ''​foo''"​ - in both cases, a //​[[CL:​Glossary:​class]]//​ //​[[CL:​Glossary:​object]]//​ (not a //​[[CL:​Glossary:​symbol]]//​) is denoted.)   * 2. (of an //​[[CL:​Glossary:​object]]//​) the uniquely determined //​[[CL:​Glossary:​class]]//​ of which the //​[[CL:​Glossary:​object]]//​ is a //​[[CL:​Glossary:​direct instance]]//​. See **[[CL:​Functions:​class-of]]**. "The class of the object returned by **[[CL:​Functions:​gensym]]** is **[[CL:​Types:​symbol]]**."​ (Note that with this usage a phrase such as "its //​[[CL:​Glossary:​class]]//​ is ''​foo''"​ is often substituted for the more precise phrase "its //​[[CL:​Glossary:​class]]//​ is the //​[[CL:​Glossary:​class]]//​ named ''​foo''"​ - in both cases, a //​[[CL:​Glossary:​class]]//​ //​[[CL:​Glossary:​object]]//​ (not a //​[[CL:​Glossary:​symbol]]//​) is denoted.)
  
Line 448: Line 448:
 ===class precedence list=== ===class precedence list===
 //n.// //n.//
-  * a unique total ordering on a //​[[CL:​Glossary:​class]]//​ and its //​[[CL:​Glossary:​superclasses]]//​ that is consistent with the //​[[CL:​Glossary:​local precedence orders]]// for the //​[[CL:​Glossary:​class]]//​ and its //​[[CL:​Glossary:​superclasses]]//​. For detailed information,​ \seesection\DeterminingtheCPL.+  * a unique total ordering on a //​[[CL:​Glossary:​class]]//​ and its //​[[CL:​Glossary:​superclass|superclasses]]//​ that is consistent with the //​[[CL:​Glossary:​local precedence order|local precedence orders]]// for the //​[[CL:​Glossary:​class]]//​ and its //​[[CL:​Glossary:​superclass|superclasses]]//​. For detailed information,​ \seesection\DeterminingtheCPL.
  
 ===close=== ===close===
 //v.t.// //v.t.//
-  * (a //​[[CL:​Glossary:​stream]]//​) to terminate usage of the //​[[CL:​Glossary:​stream]]//​ as a source or sink of data, permitting the //​[[CL:​Glossary:​implementation]]//​ to reclaim its internal data structures, and to free any external resources which might have been locked by the +  * (a //​[[CL:​Glossary:​stream]]//​) to terminate usage of the //​[[CL:​Glossary:​stream]]//​ as a source or sink of data, permitting the //​[[CL:​Glossary:​implementation]]//​ to reclaim its internal data structures, and to free any external resources which might have been locked by the //​[[CL:​Glossary:​stream]]//​ when it was opened.
- //​[[CL:​Glossary:​stream]]//​ when it was opened.+
  
 ===closed=== ===closed===
 //adj.// //adj.//
-  * (of a //​[[CL:​Glossary:​stream]]//​) having been //​[[CL:​Glossary:​closed]]//​ (see //​[[CL:​Glossary:​close]]//​). Some (but not all) operations that are valid on //​[[CL:​Glossary:​open]]//​ //​[[CL:​Glossary:​streams]]//​ are not valid on //​[[CL:​Glossary:​closed]]//​ //​[[CL:​Glossary:​streams]]//​. \Seesection\OpenAndClosedStreams.+  * (of a //​[[CL:​Glossary:​stream]]//​) having been //​[[CL:​Glossary:​closed]]//​ (see //​[[CL:​Glossary:​close]]//​). Some (but not all) operations that are valid on //​[[CL:​Glossary:​open]]//​ //​[[CL:​Glossary:​stream|streams]]// are not valid on //​[[CL:​Glossary:​closed]]//​ //​[[CL:​Glossary:​stream|streams]]//​. \Seesection\OpenAndClosedStreams.
  
 ===closure=== ===closure===
Line 465: Line 464:
 ===coalesce=== ===coalesce===
 //v.t.// //v.t.//
-  * (//​[[CL:​Glossary:​literal objects]]// that are //​[[CL:​Glossary:​similar]]//​) to consolidate the identity of those //​[[CL:​Glossary:​object|objects]]//,​ such that they become the //​[[CL:​Glossary:​same]]//​ //​[[CL:​Glossary:​object]]//​. \Seesection\CompilationTerms.+  * (//​[[CL:​Glossary:​literal]]// //​[[CL:​Glossary:​object|objects]]// that are //​[[CL:​Glossary:​similar]]//​) to consolidate the identity of those //​[[CL:​Glossary:​object|objects]]//,​ such that they become the //​[[CL:​Glossary:​same]]//​ //​[[CL:​Glossary:​object]]//​. \Seesection\CompilationTerms.
  
 ===code=== ===code===
 //n.// //n.//
-  * 1. //Trad.// any representation of actions to be performed, whether conceptual or as an actual //​[[CL:​Glossary:​object]]//,​ such as //​[[CL:​Glossary:​form|forms]]//,​ //​[[CL:​Glossary:​lambda expressions]]//,​ //​[[CL:​Glossary:​object|objects]]//​ of //​[[CL:​Glossary:​type]]//​ //​[[CL:​Glossary:​function]]//,​ text in a //​[[CL:​Glossary:​source file]]//, or instruction sequences in a //​[[CL:​Glossary:​compiled file]]//. This is a generic term; the specific nature of the representation depends on its context.+  * 1. //Trad.// any representation of actions to be performed, whether conceptual or as an actual //​[[CL:​Glossary:​object]]//,​ such as //​[[CL:​Glossary:​form|forms]]//,​ //​[[CL:​Glossary:​lambda expression|lambda expressions]]//,​ //​[[CL:​Glossary:​object|objects]]//​ of //​[[CL:​Glossary:​type]]//​ //​[[CL:​Glossary:​function]]//,​ text in a //​[[CL:​Glossary:​source file]]//, or instruction sequences in a //​[[CL:​Glossary:​compile|compiled file]]//. This is a generic term; the specific nature of the representation depends on its context.
   * 2. (of a //​[[CL:​Glossary:​character]]//​) a //​[[CL:​Glossary:​character code]]//.   * 2. (of a //​[[CL:​Glossary:​character]]//​) a //​[[CL:​Glossary:​character code]]//.
  
Line 486: Line 485:
 ===compilation=== ===compilation===
 //n.// //n.//
-  * the process of //​[[CL:​Glossary:​compiling]]//​ //​[[CL:​Glossary:​code]]//​ by the //​[[CL:​Glossary:​compiler]]//​.+  * the process of //​[[CL:​Glossary:​compile|compiling]]//​ //​[[CL:​Glossary:​code]]//​ by the //​[[CL:​Glossary:​compiler]]//​.
  
 ===compilation environment=== ===compilation environment===
 //n.// //n.//
-  * 1. An //​[[CL:​Glossary:​environment]]//​ that represents information known by the //​[[CL:​Glossary:​compiler]]//​ about a //​[[CL:​Glossary:​form]]//​ that is being //​[[CL:​Glossary:​compiled]]//​. \Seesection\CompilationTerms.+  * 1. An //​[[CL:​Glossary:​environment]]//​ that represents information known by the //​[[CL:​Glossary:​compiler]]//​ about a //​[[CL:​Glossary:​form]]//​ that is being //​[[CL:​Glossary:​compile|compiled]]//​. \Seesection\CompilationTerms.
   * 2. An //​[[CL:​Glossary:​object]]//​ that represents the //​[[CL:​Glossary:​compilation environment|compilation environment<​sub>​1</​sub>​]]//​ and that is used as a second argument to a //​[[CL:​Glossary:​macro function]]//​ (which supplies a //​[[CL:​Glossary:​value]]//​ for any ''&​body''​ //​[[CL:​Glossary:​parameter]]//​ in the //​[[CL:​Glossary:​macro function]]//'​s definition).   * 2. An //​[[CL:​Glossary:​object]]//​ that represents the //​[[CL:​Glossary:​compilation environment|compilation environment<​sub>​1</​sub>​]]//​ and that is used as a second argument to a //​[[CL:​Glossary:​macro function]]//​ (which supplies a //​[[CL:​Glossary:​value]]//​ for any ''&​body''​ //​[[CL:​Glossary:​parameter]]//​ in the //​[[CL:​Glossary:​macro function]]//'​s definition).
  
Line 499: Line 498:
 ===compile=== ===compile===
 //v.t.// //v.t.//
-  * 1. (//​[[CL:​Glossary:​code]]//​) to perform semantic preprocessing of the //​[[CL:​Glossary:​code]]//,​ usually optimizing one or more qualities of the code, such as run-time speed of //​[[CL:​Glossary:​execution]]//​ or run-time storage usage. The minimum semantic requirements of compilation are that it must remove all macro calls and arrange for all //​[[CL:​Glossary:​load time values]]// to be resolved prior to run time. +  * 1. (//​[[CL:​Glossary:​code]]//​) to perform semantic preprocessing of the //​[[CL:​Glossary:​code]]//,​ usually optimizing one or more qualities of the code, such as run-time speed of //​[[CL:​Glossary:​execute|execution]]//​ or run-time storage usage. The minimum semantic requirements of compilation are that it must remove all macro calls and arrange for all //​[[CL:​Glossary:​load time value|load time values]]// to be resolved prior to run time. 
-  * 2. (a //​[[CL:​Glossary:​function]]//​) to produce a new //​[[CL:​Glossary:​object]]//​ of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​compiled-function]]** which represents the result of //​[[CL:​Glossary:​compiling]]//​ the //​[[CL:​Glossary:​code]]//​ represented by the //​[[CL:​Glossary:​function]]//​. See **[[CL:​Functions:​compile]]**. +  * 2. (a //​[[CL:​Glossary:​function]]//​) to produce a new //​[[CL:​Glossary:​object]]//​ of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​compiled-function]]** which represents the result of //​[[CL:​Glossary:​compile|compiling]]//​ the //​[[CL:​Glossary:​code]]//​ represented by the //​[[CL:​Glossary:​function]]//​. See **[[CL:​Functions:​compile]]**. 
-  * 3. (a //​[[CL:​Glossary:​source file]]//) to produce a //​[[CL:​Glossary:​compiled file]]// from a //​[[CL:​Glossary:​source file]]//. See **[[CL:​Functions:​compile-file]]**.+  * 3. (a //​[[CL:​Glossary:​source file]]//) to produce a //​[[CL:​Glossary:​compile|compiled file]]// from a //​[[CL:​Glossary:​source file]]//. See **[[CL:​Functions:​compile-file]]**.
  
 ===compile time=== ===compile time===
Line 513: Line 512:
 ===compiled code=== ===compiled code===
 //n.// //n.//
-  * 1. //​[[CL:​Glossary:​compiled functions]]//​. +  * 1. //​[[CL:​Glossary:​compiled function|compiled functions]]//​. 
-  * 2. //​[[CL:​Glossary:​code]]//​ that represents //​[[CL:​Glossary:​compiled functions]]//,​ such as the contents of a //​[[CL:​Glossary:​compiled file]]//.+  * 2. //​[[CL:​Glossary:​code]]//​ that represents //​[[CL:​Glossary:​compiled function|compiled functions]]//,​ such as the contents of a //​[[CL:​Glossary:​compile|compiled file]]//.
  
 ===compiled file=== ===compiled file===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​file]]//​ which represents the results of //​[[CL:​Glossary:​compiling]]//​ the //​[[CL:​Glossary:​form|forms]]//​ which appeared in a corresponding //​[[CL:​Glossary:​source file]]//, and which can be //​[[CL:​Glossary:​loaded]]//​. See **[[CL:​Functions:​compile-file]]**.+  * a //​[[CL:​Glossary:​file]]//​ which represents the results of //​[[CL:​Glossary:​compile|compiling]]//​ the //​[[CL:​Glossary:​form|forms]]//​ which appeared in a corresponding //​[[CL:​Glossary:​source file]]//, and which can be //​[[CL:​Glossary:​load|loaded]]//. See **[[CL:​Functions:​compile-file]]**.
  
 ===compiled function=== ===compiled function===
 //n.// //n.//
-  * an //​[[CL:​Glossary:​object]]//​ of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​compiled-function]]**,​ which is a //​[[CL:​Glossary:​function]]//​ that has been //​[[CL:​Glossary:​compiled]]//,​ which contains no references to //​[[CL:​Glossary:​macros]]//​ that must be expanded at run time, and which contains no unresolved references to //​[[CL:​Glossary:​load time values]]//.+  * an //​[[CL:​Glossary:​object]]//​ of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​compiled-function]]**,​ which is a //​[[CL:​Glossary:​function]]//​ that has been //​[[CL:​Glossary:​compile|compiled]]//,​ which contains no references to //​[[CL:​Glossary:​macro|macros]]// that must be expanded at run time, and which contains no unresolved references to //​[[CL:​Glossary:​load time value|load time values]]//.
 \issue{COMPILED-FUNCTION-REQUIREMENTS:​TIGHTEN} \issue{COMPILED-FUNCTION-REQUIREMENTS:​TIGHTEN}
  
Line 571: Line 570:
 ===composite stream=== ===composite stream===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​stream]]//​ that is composed of one or more other //​[[CL:​Glossary:​streams]]//​. "​**[[CL:​Functions:​make-synonym-stream]]** creates a composite stream."​+  * a //​[[CL:​Glossary:​stream]]//​ that is composed of one or more other //​[[CL:​Glossary:​stream|streams]]//​. "​**[[CL:​Functions:​make-synonym-stream]]** creates a composite stream."​ 
 + 
 +===component=== 
 +//n.// 
 +  * 1. //Idiom.// a constituent part of an //​[[CL:​Glossary:​object]]//​. 
 +  * 2. a constituent part of a //​[[CL:​Glossary:​structure]]//​. See **[[CL:​Macros:​defstruct]]**. 
 +  * 3. a //​[[CL:​Glossary:​slot]]//​. 
 +**Editor Note:** //This glossary entry is not a part of the original specification and was added based on context.//
  
 ===compound form=== ===compound form===
Line 587: Line 593:
 ===condition=== ===condition===
 //n.// //n.//
-  * 1. an //​[[CL:​Glossary:​object]]//​ which represents a //​[[CL:​Glossary:​situation]]//​ - usually, but not necessarily,​ during //​[[CL:​Glossary:​signaling]]//​.+  * 1. an //​[[CL:​Glossary:​object]]//​ which represents a //​[[CL:​Glossary:​situation]]//​ - usually, but not necessarily,​ during //​[[CL:​Glossary:​signal|signaling]]//​.
   * 2. an //​[[CL:​Glossary:​object]]//​ of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​condition]]**.   * 2. an //​[[CL:​Glossary:​object]]//​ of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​condition]]**.
  
Line 596: Line 602:
 ===condition handler=== ===condition handler===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​function]]//​ that might be invoked by the act of //​[[CL:​Glossary:​signaling]]//,​ that receives the //​[[CL:​Glossary:​condition]]//​ being signaled as its only argument, and that is permitted to //​[[CL:​Glossary:​handle]]//​ the //​[[CL:​Glossary:​condition]]//​ or to //​[[CL:​Glossary:​decline]]//​. \Seesection\Signaling.+  * a //​[[CL:​Glossary:​function]]//​ that might be invoked by the act of //​[[CL:​Glossary:​signal|signaling]]//,​ that receives the //​[[CL:​Glossary:​condition]]//​ being signaled as its only argument, and that is permitted to //​[[CL:​Glossary:​handle]]//​ the //​[[CL:​Glossary:​condition]]//​ or to //​[[CL:​Glossary:​decline]]//​. \Seesection\Signaling.
  
 ===condition reporter=== ===condition reporter===
Line 604: Line 610:
 ===conditional newline=== ===conditional newline===
 //n.// //n.//
-  * a point in output where a //​[[CL:​Glossary:​newline]]//​ might be inserted at the discretion of the //​[[CL:​Glossary:​pretty printer]]//​. There are four kinds of //​[[CL:​Glossary:​conditional newlines]]//,​ called "​linear-style,"​ "​fill-style,"​ "​miser-style,"​ and "​mandatory-style."​ See **[[CL:​Functions:​pprint-newline]]** and \secref\DynamicControlofOutput.+  * a point in output where a //​[[CL:​Glossary:​newline]]//​ might be inserted at the discretion of the //​[[CL:​Glossary:​pretty printer]]//​. There are four kinds of //​[[CL:​Glossary:​conditional newline|conditional newlines]]//,​ called "​linear-style,"​ "​fill-style,"​ "​miser-style,"​ and "​mandatory-style."​ See **[[CL:​Functions:​pprint-newline]]** and \secref\DynamicControlofOutput.
  
 ===conformance=== ===conformance===
Line 616: Line 622:
 ===conforming implementation=== ===conforming implementation===
 //n.// //n.//
-  * an //​[[CL:​Glossary:​implementation]]//,​ used to emphasize complete and correct adherance to all conformance criteria. A //​[[CL:​Glossary:​conforming implementation]]//​ is capable of accepting a //​[[CL:​Glossary:​conforming program]]// as input, preparing that //​[[CL:​Glossary:​program]]//​ for //​[[CL:​Glossary:​execution]]//,​ and executing the prepared //​[[CL:​Glossary:​program]]//​ in accordance with this specification. An //​[[CL:​Glossary:​implementation]]//​ which has been extended may still be a //​[[CL:​Glossary:​conforming implementation]]//​ provided that no extension interferes with the correct function of any //​[[CL:​Glossary:​conforming program]]//​.+  * an //​[[CL:​Glossary:​implementation]]//,​ used to emphasize complete and correct adherance to all conformance criteria. A //​[[CL:​Glossary:​conforming implementation]]//​ is capable of accepting a //​[[CL:​Glossary:​conforming program]]// as input, preparing that //​[[CL:​Glossary:​program]]//​ for //​[[CL:​Glossary:​execute|execution]]//,​ and executing the prepared //​[[CL:​Glossary:​program]]//​ in accordance with this specification. An //​[[CL:​Glossary:​implementation]]//​ which has been extended may still be a //​[[CL:​Glossary:​conforming implementation]]//​ provided that no extension interferes with the correct function of any //​[[CL:​Glossary:​conforming program]]//​.
  
 ===conforming processor=== ===conforming processor===
Line 645: Line 651:
 ===constant form=== ===constant form===
 //n.// //n.//
-  * any //​[[CL:​Glossary:​form]]//​ for which //​[[CL:​Glossary:​evaluation]]//​ always //​[[CL:​Glossary:​yields]]//​ the same //​[[CL:​Glossary:​value]]//,​ that neither affects nor is affected by the //​[[CL:​Glossary:​environment]]//​ in which it is //​[[CL:​Glossary:​evaluate|evaluated]]//​ (except that it is permitted to refer to the names of //​[[CL:​Glossary:​constant variable|constant variables]]//​ defined in the //​[[CL:​Glossary:​environment]]//​),​ and that neither affects nor is affected by the state of any //​[[CL:​Glossary:​object]]//​ except those //​[[CL:​Glossary:​object|objects]]//​ that are //​[[CL:​Glossary:​otherwise inaccessible parts]]// of //​[[CL:​Glossary:​object|objects]]//​ created by the //​[[CL:​Glossary:​form]]//​ itself. "A **[[CL:​Functions:​car]]** form in which the argument is a **[[CL:​Special Operators:​quote]]** form is a constant form."+  * any //​[[CL:​Glossary:​form]]//​ for which //​[[CL:​Glossary:​evaluation]]//​ always //​[[CL:​Glossary:​yield|yields]]// the same //​[[CL:​Glossary:​value]]//,​ that neither affects nor is affected by the //​[[CL:​Glossary:​environment]]//​ in which it is //​[[CL:​Glossary:​evaluate|evaluated]]//​ (except that it is permitted to refer to the names of //​[[CL:​Glossary:​constant variable|constant variables]]//​ defined in the //​[[CL:​Glossary:​environment]]//​),​ and that neither affects nor is affected by the state of any //​[[CL:​Glossary:​object]]//​ except those //​[[CL:​Glossary:​object|objects]]//​ that are //​[[CL:​Glossary:​otherwise inaccessible part|otherwise inaccessible parts]]// of //​[[CL:​Glossary:​object|objects]]//​ created by the //​[[CL:​Glossary:​form]]//​ itself. "A **[[CL:​Functions:​car]]** form in which the argument is a **[[CL:​Special Operators:​quote]]** form is a constant form."
  
 ===constant object=== ===constant object===
Line 669: Line 675:
 ===constructed stream=== ===constructed stream===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​stream]]//​ whose source or sink is a Lisp //​[[CL:​Glossary:​object]]//​. Note that since a //​[[CL:​Glossary:​stream]]//​ is another Lisp //​[[CL:​Glossary:​object]]//,​ //​[[CL:​Glossary:​composite streams]]// are considered //​[[CL:​Glossary:​constructed streams]]//​. "A string stream is a constructed stream."​+  * a //​[[CL:​Glossary:​stream]]//​ whose source or sink is a Lisp //​[[CL:​Glossary:​object]]//​. Note that since a //​[[CL:​Glossary:​stream]]//​ is another Lisp //​[[CL:​Glossary:​object]]//,​ //​[[CL:​Glossary:​composite stream|composite streams]]// are considered //​[[CL:​Glossary:​constructed stream|constructed streams]]//​. "A string stream is a constructed stream."​
  
 ===contagion=== ===contagion===
 //n.// //n.//
-  * a process whereby operations on //​[[CL:​Glossary:​object|objects]]//​ of differing //​[[CL:​Glossary:​type|types]]//​ (e.g. arithmetic on mixed //​[[CL:​Glossary:​type|types]]//​ of //​[[CL:​Glossary:​numbers]]//​) produce a result whose //​[[CL:​Glossary:​type]]//​ is controlled by the dominance of one //​[[CL:​Glossary:​argument]]//'​s //​[[CL:​Glossary:​type]]//​ over the //​[[CL:​Glossary:​type|types]]//​ of the other //​[[CL:​Glossary:​argument|arguments]]//​. \Seesection\NumericContagionRules.+  * a process whereby operations on //​[[CL:​Glossary:​object|objects]]//​ of differing //​[[CL:​Glossary:​type|types]]//​ (e.g. arithmetic on mixed //​[[CL:​Glossary:​type|types]]//​ of //​[[CL:​Glossary:​number|numbers]]//​) produce a result whose //​[[CL:​Glossary:​type]]//​ is controlled by the dominance of one //​[[CL:​Glossary:​argument]]//'​s //​[[CL:​Glossary:​type]]//​ over the //​[[CL:​Glossary:​type|types]]//​ of the other //​[[CL:​Glossary:​argument|arguments]]//​. \Seesection\NumericContagionRules.
  
 ===continuable=== ===continuable===
Line 689: Line 695:
   * 2. (of a //​[[CL:​Glossary:​list]]//​ //L//) a //​[[CL:​Glossary:​fresh]]//​ //​[[CL:​Glossary:​list]]//​ with the //​[[CL:​Glossary:​same]]//​ //​[[CL:​Glossary:​element|elements]]//​ as //L//. (Only the //​[[CL:​Glossary:​list structure]]//​ is //​[[CL:​Glossary:​fresh]]//;​ the //​[[CL:​Glossary:​element|elements]]//​ are the //​[[CL:​Glossary:​same]]//​.) See **[[CL:​Functions:​copy-list]]**.   * 2. (of a //​[[CL:​Glossary:​list]]//​ //L//) a //​[[CL:​Glossary:​fresh]]//​ //​[[CL:​Glossary:​list]]//​ with the //​[[CL:​Glossary:​same]]//​ //​[[CL:​Glossary:​element|elements]]//​ as //L//. (Only the //​[[CL:​Glossary:​list structure]]//​ is //​[[CL:​Glossary:​fresh]]//;​ the //​[[CL:​Glossary:​element|elements]]//​ are the //​[[CL:​Glossary:​same]]//​.) See **[[CL:​Functions:​copy-list]]**.
   * 3. (of an //​[[CL:​Glossary:​association list]]// //A// with //​[[CL:​Glossary:​element|elements]]//​ //​A<​sub>​i</​sub>//​) a //​[[CL:​Glossary:​fresh]]//​ //​[[CL:​Glossary:​list]]//​ //B// with //​[[CL:​Glossary:​element|elements]]//​ //​B<​sub>​i</​sub>//,​ each of which is **[[CL:​Constant Variables:​nil]]** if //​A<​sub>​i</​sub>//​ is **[[CL:​Constant Variables:​nil]]**,​ or else a //​[[CL:​Glossary:​copy]]//​ of the //​[[CL:​Glossary:​cons]]//​ //​A<​sub>​i</​sub>//​. See **[[CL:​Functions:​copy-alist]]**.   * 3. (of an //​[[CL:​Glossary:​association list]]// //A// with //​[[CL:​Glossary:​element|elements]]//​ //​A<​sub>​i</​sub>//​) a //​[[CL:​Glossary:​fresh]]//​ //​[[CL:​Glossary:​list]]//​ //B// with //​[[CL:​Glossary:​element|elements]]//​ //​B<​sub>​i</​sub>//,​ each of which is **[[CL:​Constant Variables:​nil]]** if //​A<​sub>​i</​sub>//​ is **[[CL:​Constant Variables:​nil]]**,​ or else a //​[[CL:​Glossary:​copy]]//​ of the //​[[CL:​Glossary:​cons]]//​ //​A<​sub>​i</​sub>//​. See **[[CL:​Functions:​copy-alist]]**.
-  * 4. (of a //​[[CL:​Glossary:​tree]]//​ //T//) a //​[[CL:​Glossary:​fresh]]//​ //​[[CL:​Glossary:​tree]]//​ with the //​[[CL:​Glossary:​same]]//​ //​[[CL:​Glossary:​leaves]]//​ as //T//. See **[[CL:​Functions:​copy-tree]]**.+  * 4. (of a //​[[CL:​Glossary:​tree]]//​ //T//) a //​[[CL:​Glossary:​fresh]]//​ //​[[CL:​Glossary:​tree]]//​ with the //​[[CL:​Glossary:​same]]//​ //​[[CL:​Glossary:​leaf|leaves]]// as //T//. See **[[CL:​Functions:​copy-tree]]**.
   * 5. (of a //​[[CL:​Glossary:​random state]]// //R//) a //​[[CL:​Glossary:​fresh]]//​ //​[[CL:​Glossary:​random state]]// that, if used as an argument to to the //​[[CL:​Glossary:​function]]//​ **[[CL:​Functions:​random]]** would produce the same series of "​random"​ values as //R// would produce.   * 5. (of a //​[[CL:​Glossary:​random state]]// //R//) a //​[[CL:​Glossary:​fresh]]//​ //​[[CL:​Glossary:​random state]]// that, if used as an argument to to the //​[[CL:​Glossary:​function]]//​ **[[CL:​Functions:​random]]** would produce the same series of "​random"​ values as //R// would produce.
   * 6. (of a //​[[CL:​Glossary:​structure]]//​ //S//) a //​[[CL:​Glossary:​fresh]]//​ //​[[CL:​Glossary:​structure]]//​ that has the same //​[[CL:​Glossary:​type]]//​ as //S//, and that has slot values, each of which is the //​[[CL:​Glossary:​same]]//​ as the corresponding slot value of //S//. (Note that since the difference between a //​[[CL:​Glossary:​cons]]//,​ a //​[[CL:​Glossary:​list]]//,​ and a //​[[CL:​Glossary:​tree]]//​ is a matter of "​view"​ or "​intention,"​ there can be no general-purpose //​[[CL:​Glossary:​function]]//​ which, based solely on the //​[[CL:​Glossary:​type]]//​ of an //​[[CL:​Glossary:​object]]//,​ can determine which of these distinct meanings is intended. The distinction rests solely on the basis of the text description within this document. For example, phrases like "a //​[[CL:​Glossary:​copy]]//​ of the given //​[[CL:​Glossary:​list]]//"​ or "copy of the //​[[CL:​Glossary:​list]]//​ //x//" imply the second definition.)   * 6. (of a //​[[CL:​Glossary:​structure]]//​ //S//) a //​[[CL:​Glossary:​fresh]]//​ //​[[CL:​Glossary:​structure]]//​ that has the same //​[[CL:​Glossary:​type]]//​ as //S//, and that has slot values, each of which is the //​[[CL:​Glossary:​same]]//​ as the corresponding slot value of //S//. (Note that since the difference between a //​[[CL:​Glossary:​cons]]//,​ a //​[[CL:​Glossary:​list]]//,​ and a //​[[CL:​Glossary:​tree]]//​ is a matter of "​view"​ or "​intention,"​ there can be no general-purpose //​[[CL:​Glossary:​function]]//​ which, based solely on the //​[[CL:​Glossary:​type]]//​ of an //​[[CL:​Glossary:​object]]//,​ can determine which of these distinct meanings is intended. The distinction rests solely on the basis of the text description within this document. For example, phrases like "a //​[[CL:​Glossary:​copy]]//​ of the given //​[[CL:​Glossary:​list]]//"​ or "copy of the //​[[CL:​Glossary:​list]]//​ //x//" imply the second definition.)
Line 696: Line 702:
 ===correctable=== ===correctable===
 //adj.// (of an //​[[CL:​Glossary:​error]]//​) //adj.// (of an //​[[CL:​Glossary:​error]]//​)
-  * 1. (by a //​[[CL:​Glossary:​restart]]//​ other than **[[CL:​Restarts:​abort]]** that has been associated with the //​[[CL:​Glossary:​error]]//​) capable of being corrected by invoking that //​[[CL:​Glossary:​restart]]//​. "The function **[[CL:​Functions:​cerror]]** signals an error that is correctable by the **[[CL:​Restarts:​continue]]** //​[[CL:​Glossary:​restart]]//​."​(Note that correctability is not a property of an //​[[CL:​Glossary:​error]]//​ //​[[CL:​Glossary:​object]]//,​ but rather a property of the //​[[CL:​Glossary:​dynamic environment]]//​ that is in effect when the //​[[CL:​Glossary:​error]]//​ is //​[[CL:​Glossary:​signal|signaled]]//​. Specifically,​ the //​[[CL:​Glossary:​restart]]//​ is "​associated with" the //​[[CL:​Glossary:​error]]//​ //​[[CL:​Glossary:​condition]]//​ //​[[CL:​Glossary:​object]]//​. \Seesection\AssocRestartWithCond.)+  * 1. (by a //​[[CL:​Glossary:​restart]]//​ other than **[[CL:​Restarts:​abort]]** that has been associated with the //​[[CL:​Glossary:​error]]//​) capable of being corrected by invoking that //​[[CL:​Glossary:​restart]]//​. "The function **[[CL:​Functions:​cerror]]** signals an error that is correctable by the **[[CL:​Restarts:​continue]]** //​[[CL:​Glossary:​restart]]//​."​ (Note that correctability is not a property of an //​[[CL:​Glossary:​error]]//​ //​[[CL:​Glossary:​object]]//,​ but rather a property of the //​[[CL:​Glossary:​dynamic environment]]//​ that is in effect when the //​[[CL:​Glossary:​error]]//​ is //​[[CL:​Glossary:​signal|signaled]]//​. Specifically,​ the //​[[CL:​Glossary:​restart]]//​ is "​associated with" the //​[[CL:​Glossary:​error]]//​ //​[[CL:​Glossary:​condition]]//​ //​[[CL:​Glossary:​object]]//​. \Seesection\AssocRestartWithCond.)
   * 2. (when no specific //​[[CL:​Glossary:​restart]]//​ is mentioned) //​[[CL:​Glossary:​correctable|correctable<​sub>​1</​sub>​]]//​ by at least one //​[[CL:​Glossary:​restart]]//​. "​**[[CL:​Functions:​import]]** signals a correctable error of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​package-error]]** if any of the imported symbols has the same name as some distinct symbol already accessible in the package."​   * 2. (when no specific //​[[CL:​Glossary:​restart]]//​ is mentioned) //​[[CL:​Glossary:​correctable|correctable<​sub>​1</​sub>​]]//​ by at least one //​[[CL:​Glossary:​restart]]//​. "​**[[CL:​Functions:​import]]** signals a correctable error of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​package-error]]** if any of the imported symbols has the same name as some distinct symbol already accessible in the package."​
 \issue{CONDITION-RESTARTS:​PERMIT-ASSOCIATION} \issue{CONDITION-RESTARTS:​PERMIT-ASSOCIATION}
Line 726: Line 732:
 ===current readtable=== ===current readtable===
 //n.// (in a //​[[CL:​Glossary:​dynamic environment]]//​) //n.// (in a //​[[CL:​Glossary:​dynamic environment]]//​)
-  * the //​[[CL:​Glossary:​readtable]]//​ that is the //​[[CL:​Glossary:​value]]//​ of **[[CL:​Variables:​star-readtable-star|*readtable*]]** in that //​[[CL:​Glossary:​environment]]//,​ and that affects the way in which //​[[CL:​Glossary:​expressions|expressions<​sub>​2</​sub>​]]//​ are parsed into //​[[CL:​Glossary:​object|objects]]//​ by the //​[[CL:​Glossary:​Lisp reader]]//.+  * the //​[[CL:​Glossary:​readtable]]//​ that is the //​[[CL:​Glossary:​value]]//​ of **[[CL:​Variables:​star-readtable-star|*readtable*]]** in that //​[[CL:​Glossary:​environment]]//,​ and that affects the way in which //​[[CL:​Glossary:​expression|expressions<​sub>​2</​sub>​]]//​ are parsed into //​[[CL:​Glossary:​object|objects]]//​ by the //​[[CL:​Glossary:​Lisp reader]]//.
  
 =====D===== =====D=====
Line 740: Line 746:
 ===debugger=== ===debugger===
 //n.// //n.//
-  * a facility that allows the //​[[CL:​Glossary:​user]]//​ to handle a //​[[CL:​Glossary:​condition]]//​ interactively. For example, the //​[[CL:​Glossary:​debugger]]//​ might permit interactive selection of a //​[[CL:​Glossary:​restart]]//​ from among the //​[[CL:​Glossary:​active]]//​ //​[[CL:​Glossary:​restarts]]//,​ and it might perform additional //​[[CL:​Glossary:​implementation-defined]]//​ services for the purposes of debugging.+  * a facility that allows the //​[[CL:​Glossary:​user]]//​ to handle a //​[[CL:​Glossary:​condition]]//​ interactively. For example, the //​[[CL:​Glossary:​debugger]]//​ might permit interactive selection of a //​[[CL:​Glossary:​restart]]//​ from among the //​[[CL:​Glossary:​active]]//​ //​[[CL:​Glossary:​restart|restarts]]//,​ and it might perform additional //​[[CL:​Glossary:​implementation-defined]]//​ services for the purposes of debugging.
  
 ===declaration=== ===declaration===
Line 748: Line 754:
 ===declaration identifier=== ===declaration identifier===
 //n.// //n.//
-  * one of the //​[[CL:​Glossary:​symbol|symbols]]//​ **[[CL:​Declarations:​declaration]]**,​ **[[CL:​Declarations:​dynamic-extent]]**,​ **[[CL:​Declarations:​ftype]]**, **[[CL:​Declarations:​function]]**, **[[CL:​Declarations:​ignore]]**,​ **[[CL:​Declarations:​inline]]**,​ **[[CL:​Declarations:​notinline]]**,​ **[[CL:​Declarations:​optimize]]**,​ **[[CL:​Declarations:​special]]**,​ or **[[CL:​Declarations:​type]]**;​ or a //​[[CL:​Glossary:​symbol]]//​ which is the //​[[CL:​Glossary:​name]]//​ of a //​[[CL:​Glossary:​type]]//;​ or a //​[[CL:​Glossary:​symbol]]//​ which has been //​[[CL:​Glossary:​declared]]//​ to be a //​[[CL:​Glossary:​declaration identifier]]//​ by using a **[[CL:​Declarations:​declaration]]** //​[[CL:​Glossary:​declaration]]//​.+  * one of the //​[[CL:​Glossary:​symbol|symbols]]//​ **[[CL:​Declarations:​declaration]]**,​ **[[CL:​Declarations:​dynamic-extent]]**,​ **[[CL:​Declarations:​ftype]]**,​ **[[CL:​Declarations:​ignore]]**,​ **[[CL:​Declarations:​inline]]**,​ **[[CL:​Declarations:​notinline]]**,​ **[[CL:​Declarations:​optimize]]**,​ **[[CL:​Declarations:​special]]**,​ or **[[CL:​Declarations:​type]]**;​ or a //​[[CL:​Glossary:​symbol]]//​ which is the //​[[CL:​Glossary:​name]]//​ of a //​[[CL:​Glossary:​type]]//;​ or a //​[[CL:​Glossary:​symbol]]//​ which has been //​[[CL:​Glossary:​declare|declared]]//​ to be a //​[[CL:​Glossary:​declaration identifier]]//​ by using a **[[CL:​Declarations:​declaration]]** //​[[CL:​Glossary:​declaration]]//​.
 \issue{SYNTACTIC-ENVIRONMENT-ACCESS:​RETRACTED-MAR91} \issue{SYNTACTIC-ENVIRONMENT-ACCESS:​RETRACTED-MAR91}
  
Line 761: Line 767:
 ===decline=== ===decline===
 //v.// (of a //​[[CL:​Glossary:​handler]]//​) //v.// (of a //​[[CL:​Glossary:​handler]]//​)
-  * to return normally without having //​[[CL:​Glossary:​handled]]//​ the //​[[CL:​Glossary:​condition]]//​ being //​[[CL:​Glossary:​signal|signaled]]//,​ permitting the signaling process to continue as if the //​[[CL:​Glossary:​handler]]//​ had not been present.+  * to return normally without having //​[[CL:​Glossary:​handle|handled]]// the //​[[CL:​Glossary:​condition]]//​ being //​[[CL:​Glossary:​signal|signaled]]//,​ permitting the signaling process to continue as if the //​[[CL:​Glossary:​handler]]//​ had not been present.
  
 ===decoded time=== ===decoded time===
Line 773: Line 779:
 ===defaulted initialization argument list=== ===defaulted initialization argument list===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​list]]//​ of alternating initialization argument //​[[CL:​Glossary:​names]]//​ and //​[[CL:​Glossary:​value|values]]//​ in which unsupplied initialization arguments are defaulted, used in the protocol for initializing and reinitializing //​[[CL:​Glossary:​instances]]//​ of //​[[CL:​Glossary:​classes]]//​.+  * a //​[[CL:​Glossary:​list]]//​ of alternating initialization argument //​[[CL:​Glossary:​name|names]]// and //​[[CL:​Glossary:​value|values]]//​ in which unsupplied initialization arguments are defaulted, used in the protocol for initializing and reinitializing //​[[CL:​Glossary:​instance|instances]]//​ of //​[[CL:​Glossary:​class|classes]]//​.
  
 ===define-method-combination arguments lambda list=== ===define-method-combination arguments lambda list===
Line 789: Line 795:
 ===defining form=== ===defining form===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​form]]//​ that has the side-effect of //​[[CL:​Glossary:​establishing]]//​ a definition. "​**[[CL:​Macros:​defun]]** and **[[CL:​Macros:​defparameter]]** are defining forms."​+  * a //​[[CL:​Glossary:​form]]//​ that has the side-effect of //​[[CL:​Glossary:​establish|establishing]]//​ a definition. "​**[[CL:​Macros:​defun]]** and **[[CL:​Macros:​defparameter]]** are defining forms."​
  
 ===defsetf lambda list=== ===defsetf lambda list===
Line 797: Line 803:
 ===deftype lambda list=== ===deftype lambda list===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​lambda list]]// that is like a //​[[CL:​Glossary:​macro lambda list]]// except that the default //​[[CL:​Glossary:​value]]//​ for unsupplied //​[[CL:​Glossary:​optional parameters]]//​ and //​[[CL:​Glossary:​keyword parameters]]//​ is the //​[[CL:​Glossary:​symbol]]//​ **[[CL:​Types:​wildcard|*]]** (rather than **[[CL:​Constant Variables:​nil]]**). \Seesection\DeftypeLambdaLists.+  * a //​[[CL:​Glossary:​lambda list]]// that is like a //​[[CL:​Glossary:​macro lambda list]]// except that the default //​[[CL:​Glossary:​value]]//​ for unsupplied //​[[CL:​Glossary:​optional parameter|optional parameters]]//​ and //​[[CL:​Glossary:​keyword parameter|keyword parameters]]//​ is the //​[[CL:​Glossary:​symbol]]//​ **[[CL:​Types:​wildcard|*]]** (rather than **[[CL:​Constant Variables:​nil]]**). \Seesection\DeftypeLambdaLists.
 \issue{DEFTYPE-KEY:​ALLOW} \issue{DEFTYPE-KEY:​ALLOW}
 \issue{DEFTYPE-DESTRUCTURING:​YES} \issue{DEFTYPE-DESTRUCTURING:​YES}
Line 803: Line 809:
 ===denormalized=== ===denormalized===
 //adj.//, //ANSI//, //IEEE// (of a //​[[CL:​Glossary:​float]]//​) //adj.//, //ANSI//, //IEEE// (of a //​[[CL:​Glossary:​float]]//​)
-  * conforming to the description of "​denormalized"​ as described by {\IEEEFloatingPoint}. For example, in an //​[[CL:​Glossary:​implementation]]//​ where the minimum possible exponent was ''​-7''​ but where ''​0.001''​ was a valid mantissa, the number ''​1.0e-10''​ might be representable as ''​0.001e-7''​ internally even if the //​[[CL:​Glossary:​normalized]]//​ representation would call for it to be represented instead as ''​1.0e-10''​ or ''​0.1e-9''​. By their nature, //​[[CL:​Glossary:​denormalized]]//​ //​[[CL:​Glossary:​floats]]//​ generally have less precision than //​[[CL:​Glossary:​normalized]]//​ //​[[CL:​Glossary:​floats]]//​.+  * conforming to the description of "​denormalized"​ as described by {\IEEEFloatingPoint}. For example, in an //​[[CL:​Glossary:​implementation]]//​ where the minimum possible exponent was ''​-7''​ but where ''​0.001''​ was a valid mantissa, the number ''​1.0e-10''​ might be representable as ''​0.001e-7''​ internally even if the //​[[CL:​Glossary:​normalized]]//​ representation would call for it to be represented instead as ''​1.0e-10''​ or ''​0.1e-9''​. By their nature, //​[[CL:​Glossary:​denormalized]]//​ //​[[CL:​Glossary:​float|floats]]// generally have less precision than //​[[CL:​Glossary:​normalized]]//​ //​[[CL:​Glossary:​float|floats]]//.
  
 ===derived type=== ===derived type===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​type specifier]]//​ which is defined in terms of an expansion into another //​[[CL:​Glossary:​type specifier]]//​. **[[CL:​Macros:​deftype]]** defines //​[[CL:​Glossary:​derived types]]//, and there may be other //​[[CL:​Glossary:​implementation-defined]]//​ //​[[CL:​Glossary:​operator|operators]]//​ which do so as well.+  * a //​[[CL:​Glossary:​type specifier]]//​ which is defined in terms of an expansion into another //​[[CL:​Glossary:​type specifier]]//​. **[[CL:​Macros:​deftype]]** defines //​[[CL:​Glossary:​derived type|derived types]]//, and there may be other //​[[CL:​Glossary:​implementation-defined]]//​ //​[[CL:​Glossary:​operator|operators]]//​ which do so as well.
  
 ===derived type specifier=== ===derived type specifier===
Line 823: Line 829:
 ===destructuring lambda list=== ===destructuring lambda list===
 //n.// //n.//
-  * an //​[[CL:​Glossary:​extended lambda list]]// used in **[[CL:​Macros:​destructuring-bind]]** and nested within //​[[CL:​Glossary:​macro lambda lists]]//. \Seesection\DestructuringLambdaLists.+  * an //​[[CL:​Glossary:​extended lambda list]]// used in **[[CL:​Macros:​destructuring-bind]]** and nested within //​[[CL:​Glossary:​macro lambda list|macro lambda lists]]//. \Seesection\DestructuringLambdaLists.
  
 ===different=== ===different===
Line 852: Line 858:
 ===disestablish=== ===disestablish===
 //v.t.// //v.t.//
-  * to withdraw the //​[[CL:​Glossary:​establishment]]//​ of an //​[[CL:​Glossary:​object]]//,​ a //​[[CL:​Glossary:​binding]]//,​ an //​[[CL:​Glossary:​exit point]]//, a //​[[CL:​Glossary:​tag]]//,​ a //​[[CL:​Glossary:​handler]]//,​ a //​[[CL:​Glossary:​restart]]//,​ or an //​[[CL:​Glossary:​environment]]//​.+  * to withdraw the //​[[CL:​Glossary:​establish|establishment]]//​ of an //​[[CL:​Glossary:​object]]//,​ a //​[[CL:​Glossary:​binding]]//,​ an //​[[CL:​Glossary:​exit point]]//, a //​[[CL:​Glossary:​tag]]//,​ a //​[[CL:​Glossary:​handler]]//,​ a //​[[CL:​Glossary:​restart]]//,​ or an //​[[CL:​Glossary:​environment]]//​.
  
 ===disjoint=== ===disjoint===
Line 901: Line 907:
 ===dynamic environment=== ===dynamic environment===
 //n.// //n.//
-  * that part of an //​[[CL:​Glossary:​environment]]//​ that contains //​[[CL:​Glossary:​binding|bindings]]//​ with //​[[CL:​Glossary:​dynamic extent]]//. A //​[[CL:​Glossary:​dynamic environment]]//​ contains, among other things: //​[[CL:​Glossary:​exit points]]// established by **[[CL:​Special Operators:​unwind-protect]]**,​ and //​[[CL:​Glossary:​binding|bindings]]//​ of //​[[CL:​Glossary:​dynamic variables]]//,​ //​[[CL:​Glossary:​exit points]]// established by **[[CL:​Special Operators:​catch]]**,​ //​[[CL:​Glossary:​condition handlers]]//,​ and //​[[CL:​Glossary:​restarts]]//​.+  * that part of an //​[[CL:​Glossary:​environment]]//​ that contains //​[[CL:​Glossary:​binding|bindings]]//​ with //​[[CL:​Glossary:​dynamic extent]]//. A //​[[CL:​Glossary:​dynamic environment]]//​ contains, among other things: //​[[CL:​Glossary:​exit point|exit points]]// established by **[[CL:​Special Operators:​unwind-protect]]**,​ and //​[[CL:​Glossary:​binding|bindings]]//​ of //​[[CL:​Glossary:​dynamic variable|dynamic variables]]//,​ //​[[CL:​Glossary:​exit point|exit points]]// established by **[[CL:​Special Operators:​catch]]**,​ //​[[CL:​Glossary:​condition handler|condition handlers]]//,​ and //​[[CL:​Glossary:​restart|restarts]]//​.
  
 ===dynamic extent=== ===dynamic extent===
 //n.// //n.//
-  * an //​[[CL:​Glossary:​extent]]//​ whose duration is bounded by points of //​[[CL:​Glossary:​establishment]]//​ and //​[[CL:​Glossary:​disestablishment]]//​ within the execution of a particular //​[[CL:​Glossary:​form]]//​. See //​[[CL:​Glossary:​indefinite extent]]//. "​Dynamic variable bindings have dynamic extent."​+  * an //​[[CL:​Glossary:​extent]]//​ whose duration is bounded by points of //​[[CL:​Glossary:​establish|establishment]]//​ and //​[[CL:​Glossary:​disestablish|disestablishment]]//​ within the execution of a particular //​[[CL:​Glossary:​form]]//​. See //​[[CL:​Glossary:​indefinite extent]]//. "​Dynamic variable bindings have dynamic extent."​
  
 ===dynamic scope=== ===dynamic scope===
Line 942: Line 948:
 ===em=== ===em===
 //n.//, //Trad.// //n.//, //Trad.//
-  * a context-dependent unit of measure commonly used in typesetting,​ equal to the displayed width of of a letter "​M"​ in the current font. (The letter "​M"​ is traditionally chosen because it is typically represented by the widest //​[[CL:​Glossary:​glyph]]//​ in the font, and other characters'​ widths are typically fractions of an //​[[CL:​Glossary:​em]]//​. In implementations providing non-Roman characters with wider characters than "​M,"​ it is permissible for another character to be the //​[[CL:​Glossary:​implementation-defined]]//​ reference character for this measure, and for "​M"​ to be only a fraction of an //​[[CL:​Glossary:​em]]//​ wide.) In a fixed width font, a line with //n// characters is //n// //​[[CL:​Glossary:​ems]]// wide; in a variable width font, //n// //​[[CL:​Glossary:​ems]]// is the expected upper bound on the width of such a line.+  * a context-dependent unit of measure commonly used in typesetting,​ equal to the displayed width of of a letter "​M"​ in the current font. (The letter "​M"​ is traditionally chosen because it is typically represented by the widest //​[[CL:​Glossary:​glyph]]//​ in the font, and other characters'​ widths are typically fractions of an //​[[CL:​Glossary:​em]]//​. In implementations providing non-Roman characters with wider characters than "​M,"​ it is permissible for another character to be the //​[[CL:​Glossary:​implementation-defined]]//​ reference character for this measure, and for "​M"​ to be only a fraction of an //​[[CL:​Glossary:​em]]//​ wide.) In a fixed width font, a line with //n// characters is //n// //​[[CL:​Glossary:​em]]// wide; in a variable width font, //n// //​[[CL:​Glossary:​em]]// is the expected upper bound on the width of such a line.
  
 ===empty list=== ===empty list===
Line 955: Line 961:
 //n.// //n.//
   * 1. the point in an //​[[CL:​Glossary:​input]]//​ //​[[CL:​Glossary:​stream]]//​ beyond which there is no further data. Whether or not there is such a point on an //​[[CL:​Glossary:​interactive stream]]// is //​[[CL:​Glossary:​implementation-defined]]//​.   * 1. the point in an //​[[CL:​Glossary:​input]]//​ //​[[CL:​Glossary:​stream]]//​ beyond which there is no further data. Whether or not there is such a point on an //​[[CL:​Glossary:​interactive stream]]// is //​[[CL:​Glossary:​implementation-defined]]//​.
-  * 2. a //​[[CL:​Glossary:​situation]]//​ that occurs upon an attempt to obtain data from an //​[[CL:​Glossary:​input stream]]// that is at the //​[[CL:​Glossary:​end of file|end of file<​sub>​1</​sub>​]]//​.+  * 2. a //​[[CL:​Glossary:​situation]]//​ that occurs upon an attempt to obtain data from an //​[[CL:​Glossary:​input]]// //​[[CL:​Glossary:​stream]]// that is at the //​[[CL:​Glossary:​end of file|end of file<​sub>​1</​sub>​]]//​.
  
 ===environment=== ===environment===
Line 964: Line 970:
 ===environment object=== ===environment object===
 //n.// //n.//
-  * an //​[[CL:​Glossary:​object]]//​ representing a set of //​[[CL:​Glossary:​lexical bindings]]//,​ used in the processing of a //​[[CL:​Glossary:​form]]//​ to provide meanings for //​[[CL:​Glossary:​names]]//​ within that //​[[CL:​Glossary:​form]]//​. "​**[[CL:​Functions:​macroexpand]]** takes an optional environment argument."​ (The //​[[CL:​Glossary:​object]]//​ **[[CL:​Constant Variables:​nil]]** when used as an //​[[CL:​Glossary:​environment object]]// denotes the //​[[CL:​Glossary:​null lexical environment]]//;​ the //​[[CL:​Glossary:​value|values]]//​ of //​[[CL:​Glossary:​environment parameters]]//​ to //​[[CL:​Glossary:​macro functions]]//​ are //​[[CL:​Glossary:​object|objects]]//​ of //​[[CL:​Glossary:​implementation-dependent]]//​ nature which represent the //​[[CL:​Glossary:​environment|environment<​sub>​1</​sub>​]]//​ in which the corresponding //​[[CL:​Glossary:​macro form]]// is to be expanded.) \Seesection\EnvObjs.+  * an //​[[CL:​Glossary:​object]]//​ representing a set of //​[[CL:​Glossary:​lexical binding|lexical bindings]]//,​ used in the processing of a //​[[CL:​Glossary:​form]]//​ to provide meanings for //​[[CL:​Glossary:​name|names]]// within that //​[[CL:​Glossary:​form]]//​. "​**[[CL:​Functions:​macroexpand]]** takes an optional environment argument."​ (The //​[[CL:​Glossary:​object]]//​ **[[CL:​Constant Variables:​nil]]** when used as an //​[[CL:​Glossary:​environment object]]// denotes the //​[[CL:​Glossary:​null lexical environment]]//;​ the //​[[CL:​Glossary:​value|values]]//​ of //​[[CL:​Glossary:​environment parameter|environment parameters]]//​ to //​[[CL:​Glossary:​macro function|macro functions]]//​ are //​[[CL:​Glossary:​object|objects]]//​ of //​[[CL:​Glossary:​implementation-dependent]]//​ nature which represent the //​[[CL:​Glossary:​environment|environment<​sub>​1</​sub>​]]//​ in which the corresponding //​[[CL:​Glossary:​macro form]]// is to be expanded.) \Seesection\EnvObjs.
  
 ===environment parameter=== ===environment parameter===
Line 995: Line 1001:
 ===evaluation=== ===evaluation===
 //n.// //n.//
-  * a model whereby //​[[CL:​Glossary:​form|forms]]//​ are //​[[CL:​Glossary:​execute|executed]]//,​ returning zero or more values. Such execution might be implemented directly in one step by an interpreter or in two steps by first //​[[CL:​Glossary:​compiling]]//​ the //​[[CL:​Glossary:​form]]//​ and then //​[[CL:​Glossary:​executing]]//​ the //​[[CL:​Glossary:​compiled]]//​ //​[[CL:​Glossary:​code]]//;​ this choice is dependent both on context and the nature of the //​[[CL:​Glossary:​implementation]]//,​ but in any case is not in general detectable by any program. The evaluation model is designed in such a way that a //​[[CL:​Glossary:​conforming implementation]]//​ might legitimately have only a compiler and no interpreter,​ or vice versa. \Seesection\EvaluationModel.+  * a model whereby //​[[CL:​Glossary:​form|forms]]//​ are //​[[CL:​Glossary:​execute|executed]]//,​ returning zero or more values. Such execution might be implemented directly in one step by an interpreter or in two steps by first //​[[CL:​Glossary:​compile|compiling]]//​ the //​[[CL:​Glossary:​form]]//​ and then //​[[CL:​Glossary:​execute|executing]]//​ the //​[[CL:​Glossary:​compile|compiled]]//​ //​[[CL:​Glossary:​code]]//;​ this choice is dependent both on context and the nature of the //​[[CL:​Glossary:​implementation]]//,​ but in any case is not in general detectable by any program. The evaluation model is designed in such a way that a //​[[CL:​Glossary:​conforming implementation]]//​ might legitimately have only a compiler and no interpreter,​ or vice versa. \Seesection\EvaluationModel.
  
 ===evaluation environment=== ===evaluation environment===
Line 1007: Line 1013:
 ===execution time=== ===execution time===
 //n.// //n.//
-  * the duration of time that //​[[CL:​Glossary:​compiled code]]// is being //​[[CL:​Glossary:​execute|executed]]//​.+  * the duration of time that //​[[CL:​Glossary:​compile|compiled code]]// is being //​[[CL:​Glossary:​execute|executed]]//​.
  
 ===exhaustive partition=== ===exhaustive partition===
Line 1015: Line 1021:
 ===exhaustive union=== ===exhaustive union===
 //n.// (of a //​[[CL:​Glossary:​type]]//​) //n.// (of a //​[[CL:​Glossary:​type]]//​)
-  * a set of //​[[CL:​Glossary:​subtypes]]//​ of the //​[[CL:​Glossary:​type]]//,​ whose union contains all //​[[CL:​Glossary:​element|elements]]//​ of that //​[[CL:​Glossary:​type]]//​.+  * a set of //​[[CL:​Glossary:​subtype|subtypes]]//​ of the //​[[CL:​Glossary:​type]]//,​ whose union contains all //​[[CL:​Glossary:​element|elements]]//​ of that //​[[CL:​Glossary:​type]]//​.
  
 ===exit point=== ===exit point===
Line 1027: Line 1033:
 ===explicit use=== ===explicit use===
 //n.// (of a //​[[CL:​Glossary:​variable]]//​ //V// in a //​[[CL:​Glossary:​form]]//​ //F//) //n.// (of a //​[[CL:​Glossary:​variable]]//​ //V// in a //​[[CL:​Glossary:​form]]//​ //F//)
-  * a reference to //V// that is directly apparent in the normal semantics of //F//; i.e. that does not expose any undocumented details of the //​[[CL:​Glossary:​macro expansion]]//​ of the //​[[CL:​Glossary:​form]]//​ itself. References to //V// exposed by expanding //​[[CL:​Glossary:​subforms]]//​ of //F// are, however, considered to be //​[[CL:​Glossary:​explicit uses]]// of //V//.+  * a reference to //V// that is directly apparent in the normal semantics of //F//; i.e. that does not expose any undocumented details of the //​[[CL:​Glossary:​macro expansion]]//​ of the //​[[CL:​Glossary:​form]]//​ itself. References to //V// exposed by expanding //​[[CL:​Glossary:​subform|subforms]]//​ of //F// are, however, considered to be //​[[CL:​Glossary:​explicit use|explicit uses]]// of //V//.
  
 ===exponent marker=== ===exponent marker===
 //n.// //n.//
-  * a character that is used in the textual notation for a //​[[CL:​Glossary:​float]]//​ to separate the mantissa from the exponent. The characters defined as //​[[CL:​Glossary:​exponent markers]]// in the //​[[CL:​Glossary:​standard readtable]]//​ are shown in the below table. For more information,​ \seesection\CharacterSyntax. "The exponent marker `d' in `3.0d7'​ indicates that this number is to be represented as a double float."​+  * a character that is used in the textual notation for a //​[[CL:​Glossary:​float]]//​ to separate the mantissa from the exponent. The characters defined as //​[[CL:​Glossary:​exponent marker|exponent markers]]// in the //​[[CL:​Glossary:​standard readtable]]//​ are shown in the below table. For more information,​ \seesection\CharacterSyntax. "The exponent marker `d' in `3.0d7'​ indicates that this number is to be represented as a double float."​
  
 ^ Marker ​        ^ Meaning ​                                                                                                           ^ ^ Marker ​        ^ Meaning ​                                                                                                           ^
Line 1042: Line 1048:
 ===export=== ===export===
 //v.t.// (a //​[[CL:​Glossary:​symbol]]//​ in a //​[[CL:​Glossary:​package]]//​) //v.t.// (a //​[[CL:​Glossary:​symbol]]//​ in a //​[[CL:​Glossary:​package]]//​)
-  * to add the //​[[CL:​Glossary:​symbol]]//​ to the list of //​[[CL:​Glossary:​external symbols]]// of the //​[[CL:​Glossary:​package]]//​.+  * to add the //​[[CL:​Glossary:​symbol]]//​ to the list of //​[[CL:​Glossary:​external symbol|external symbols]]// of the //​[[CL:​Glossary:​package]]//​.
  
 ===exported=== ===exported===
Line 1067: Line 1073:
 ===expressly adjustable=== ===expressly adjustable===
 //adj.// (of an //​[[CL:​Glossary:​array]]//​) //adj.// (of an //​[[CL:​Glossary:​array]]//​)
-  * being //​[[CL:​Glossary:​actually adjustable]]//​ by virtue of an explicit request for this characteristic having been made at the time of its creation. All //​[[CL:​Glossary:​arrays]]//​ that are //​[[CL:​Glossary:​expressly adjustable]]//​ are //​[[CL:​Glossary:​actually adjustable]]//,​ but not necessarily vice versa.+  * being //​[[CL:​Glossary:​actually adjustable]]//​ by virtue of an explicit request for this characteristic having been made at the time of its creation. All //​[[CL:​Glossary:​array|arrays]]// that are //​[[CL:​Glossary:​expressly adjustable]]//​ are //​[[CL:​Glossary:​actually adjustable]]//,​ but not necessarily vice versa.
  
 ===extended character=== ===extended character===
Line 1095: Line 1101:
 ===external file format designator=== ===external file format designator===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​designator]]//​ for an //​[[CL:​Glossary:​external file format]]//; that is, an //​[[CL:​Glossary:​object]]//​ that denotes an //​[[CL:​Glossary:​external file format]]// and that is one of: the //​[[CL:​Glossary:​symbol]]//​ **'':​default''​** (denoting an //​[[CL:​Glossary:​implementation-dependent]]//​ default //​[[CL:​Glossary:​external file format]]// that can accomodate at least the //​[[CL:​Glossary:​base characters]]//​),​ some other //​[[CL:​Glossary:​object]]//​ defined by the //​[[CL:​Glossary:​implementation]]//​ to be an //​[[CL:​Glossary:​external file format designator]]//​ (denoting an //​[[CL:​Glossary:​implementation-defined]]//​ //​[[CL:​Glossary:​external file format]]//​),​ or some other //​[[CL:​Glossary:​object]]//​ defined by the //​[[CL:​Glossary:​implementation]]//​ to be an //​[[CL:​Glossary:​external file format]]// (denoting itself).+  * a //​[[CL:​Glossary:​designator]]//​ for an //​[[CL:​Glossary:​external file format]]//; that is, an //​[[CL:​Glossary:​object]]//​ that denotes an //​[[CL:​Glossary:​external file format]]// and that is one of: the //​[[CL:​Glossary:​symbol]]//​ **'':​default''​** (denoting an //​[[CL:​Glossary:​implementation-dependent]]//​ default //​[[CL:​Glossary:​external file format]]// that can accomodate at least the //​[[CL:​Glossary:​base character|base characters]]//​),​ some other //​[[CL:​Glossary:​object]]//​ defined by the //​[[CL:​Glossary:​implementation]]//​ to be an //​[[CL:​Glossary:​external file format designator]]//​ (denoting an //​[[CL:​Glossary:​implementation-defined]]//​ //​[[CL:​Glossary:​external file format]]//​),​ or some other //​[[CL:​Glossary:​object]]//​ defined by the //​[[CL:​Glossary:​implementation]]//​ to be an //​[[CL:​Glossary:​external file format]]// (denoting itself).
  
 ===external symbol=== ===external symbol===
 //n.// (of a //​[[CL:​Glossary:​package]]//​) //n.// (of a //​[[CL:​Glossary:​package]]//​)
-  * a //​[[CL:​Glossary:​symbol]]//​ that is part of the `external interface'​ to the //​[[CL:​Glossary:​package]]//​ and that are //​[[CL:​Glossary:​inherit|inherited|inherited<​sub>​3</​sub>​]]//​ by any other //​[[CL:​Glossary:​package]]//​ that //​[[CL:​Glossary:​uses]]//​ the //​[[CL:​Glossary:​package]]//​. When using the //​[[CL:​Glossary:​Lisp reader]]//, if a //​[[CL:​Glossary:​package prefix]]// is used, the //​[[CL:​Glossary:​name]]//​ of an //​[[CL:​Glossary:​external symbol]]// is separated from the //​[[CL:​Glossary:​package]]//​ //​[[CL:​Glossary:​name]]//​ by a single //​[[CL:​Glossary:​package marker]]// while the //​[[CL:​Glossary:​name]]//​ of an //​[[CL:​Glossary:​internal symbol]]// is separated from the //​[[CL:​Glossary:​package]]//​ //​[[CL:​Glossary:​name]]//​ by a double //​[[CL:​Glossary:​package marker]]//; \seesection\SymbolTokens.+  * a //​[[CL:​Glossary:​symbol]]//​ that is part of the `external interface'​ to the //​[[CL:​Glossary:​package]]//​ and that are //​[[CL:​Glossary:​inherit|inherited|inherited<​sub>​3</​sub>​]]//​ by any other //​[[CL:​Glossary:​package]]//​ that //​[[CL:​Glossary:​use|uses]]// the //​[[CL:​Glossary:​package]]//​. When using the //​[[CL:​Glossary:​Lisp reader]]//, if a //​[[CL:​Glossary:​package prefix]]// is used, the //​[[CL:​Glossary:​name]]//​ of an //​[[CL:​Glossary:​external symbol]]// is separated from the //​[[CL:​Glossary:​package]]//​ //​[[CL:​Glossary:​name]]//​ by a single //​[[CL:​Glossary:​package marker]]// while the //​[[CL:​Glossary:​name]]//​ of an //​[[CL:​Glossary:​internal symbol]]// is separated from the //​[[CL:​Glossary:​package]]//​ //​[[CL:​Glossary:​name]]//​ by a double //​[[CL:​Glossary:​package marker]]//; \seesection\SymbolTokens.
  
 ===externalizable object=== ===externalizable object===
Line 1113: Line 1119:
 ===fbound=== ===fbound===
 //adj.// (of a //​[[CL:​Glossary:​function name]]//) //adj.// (of a //​[[CL:​Glossary:​function name]]//)
-  * //​[[CL:​Glossary:​bound]]//​ in the //​[[CL:​Glossary:​function]]//​ //​[[CL:​Glossary:​namespace]]//​. (The //​[[CL:​Glossary:​names]]//​ of //​[[CL:​Glossary:​macros]]//​ and //​[[CL:​Glossary:​special operators]]//​ are //​[[CL:​Glossary:​fbound]]//,​ but the nature and //​[[CL:​Glossary:​type]]//​ of the //​[[CL:​Glossary:​object]]//​ which is their //​[[CL:​Glossary:​value]]//​ is //​[[CL:​Glossary:​implementation-dependent]]//​. Further, defining a //​[[CL:​Glossary:​setf expander]]//​ //F// does not cause the //​[[CL:​Glossary:​setf function]]//​ ''​([[CL:​Macros:​setf]] //​F//​)''​ to become defined; as such, if there is a such a definition of a //​[[CL:​Glossary:​setf expander]]//​ //F//, the //​[[CL:​Glossary:​function]]//​ ''​([[CL:​Macros:​setf]] //​F//​)''​ can be //​[[CL:​Glossary:​fbound]]//​ if and only if, by design or coincidence,​ a function binding for ''​([[CL:​Macros:​setf]] //​F//​)''​ has been independently established.) See functions **[[CL:​Functions:​fboundp]]** and **[[CL:​Functions:​symbol-function]]**.+  * //​[[CL:​Glossary:​bound]]//​ in the //​[[CL:​Glossary:​function]]//​ //​[[CL:​Glossary:​name|namespace]]//​. (The //​[[CL:​Glossary:​name|names]]// of //​[[CL:​Glossary:​macro|macros]]// and //​[[CL:​Glossary:​special operator|special operators]]//​ are //​[[CL:​Glossary:​fbound]]//,​ but the nature and //​[[CL:​Glossary:​type]]//​ of the //​[[CL:​Glossary:​object]]//​ which is their //​[[CL:​Glossary:​value]]//​ is //​[[CL:​Glossary:​implementation-dependent]]//​. Further, defining a //​[[CL:​Glossary:​setf expander]]//​ //F// does not cause the //​[[CL:​Glossary:​setf function]]//​ ''​([[CL:​Macros:​setf]] //​F//​)''​ to become defined; as such, if there is a such a definition of a //​[[CL:​Glossary:​setf expander]]//​ //F//, the //​[[CL:​Glossary:​function]]//​ ''​([[CL:​Macros:​setf]] //​F//​)''​ can be //​[[CL:​Glossary:​fbound]]//​ if and only if, by design or coincidence,​ a function binding for ''​([[CL:​Macros:​setf]] //​F//​)''​ has been independently established.) See functions **[[CL:​Functions:​fboundp]]** and **[[CL:​Functions:​symbol-function]]**.
 \issue{SETF-FUNCTIONS-AGAIN:​MINIMAL-CHANGES} \issue{SETF-FUNCTIONS-AGAIN:​MINIMAL-CHANGES}
  
Line 1123: Line 1129:
 ===feature expression=== ===feature expression===
 //n.// //n.//
-  * a boolean combination of //​[[CL:​Glossary:​features]]//​ used by the ''#​+''​ and ''#​-''​ //​[[CL:​Glossary:​reader macros]]// in order to direct conditional //​[[CL:​Glossary:​reading]]//​ of //​[[CL:​Glossary:​expressions]]//​ by the //​[[CL:​Glossary:​Lisp reader]]//. \Seesection\FeatureExpressions.+  * a boolean combination of //​[[CL:​Glossary:​feature|features]]//​ used by the ''#​+''​ and ''#​-''​ //​[[CL:​Glossary:​reader macro|reader macros]]// in order to direct conditional //​[[CL:​Glossary:​read|reading]]// of //​[[CL:​Glossary:​expression|expressions]]//​ by the //​[[CL:​Glossary:​Lisp reader]]//. \Seesection\FeatureExpressions.
  
 ===features list=== ===features list===
Line 1135: Line 1141:
 ===file compiler=== ===file compiler===
 //n.// //n.//
-  * any //​[[CL:​Glossary:​compiler]]//​ which //​[[CL:​Glossary:​compiles]]//​ //​[[CL:​Glossary:​source code]]// contained in a //​[[CL:​Glossary:​file]]//,​ producing a //​[[CL:​Glossary:​compiled file]]// as output. The **[[CL:​Functions:​compile-file]]** function is the only interface to such a //​[[CL:​Glossary:​compiler]]//​ provided by Common Lisp, but there might be other, //​[[CL:​Glossary:​implementation-defined]]//​ mechanisms for invoking the //​[[CL:​Glossary:​file compiler]]//​.+  * any //​[[CL:​Glossary:​compiler]]//​ which //​[[CL:​Glossary:​compile|compiles]]//​ //​[[CL:​Glossary:​source code]]// contained in a //​[[CL:​Glossary:​file]]//,​ producing a //​[[CL:​Glossary:​compile|compiled file]]// as output. The **[[CL:​Functions:​compile-file]]** function is the only interface to such a //​[[CL:​Glossary:​compiler]]//​ provided by Common Lisp, but there might be other, //​[[CL:​Glossary:​implementation-defined]]//​ mechanisms for invoking the //​[[CL:​Glossary:​file compiler]]//​.
  
 ===file position=== ===file position===
 //n.// (in a //​[[CL:​Glossary:​stream]]//​) //n.// (in a //​[[CL:​Glossary:​stream]]//​)
-  * a non-negative //​[[CL:​Glossary:​integer]]//​ that represents a position in the //​[[CL:​Glossary:​stream]]//​. Not all //​[[CL:​Glossary:​streams]]//​ are able to represent the notion of //​[[CL:​Glossary:​file position]]//;​ in the description of any //​[[CL:​Glossary:​operator]]//​ which manipulates //​[[CL:​Glossary:​file positions]]//,​ the behavior for //​[[CL:​Glossary:​streams]]//​ that don't have this notion must be explicitly stated. For //​[[CL:​Glossary:​binary]]//​ //​[[CL:​Glossary:​streams]]//,​ the //​[[CL:​Glossary:​file position]]//​ represents the number of preceding //​[[CL:​Glossary:​bytes]]//​ in the //​[[CL:​Glossary:​stream]]//​. For //​[[CL:​Glossary:​character]]//​ //​[[CL:​Glossary:​streams]]//,​ the constraint is more relaxed: //​[[CL:​Glossary:​file positions]]//​ must increase monotonically,​ the amount of the increase between //​[[CL:​Glossary:​file positions]]//​ corresponding to any two successive characters in the //​[[CL:​Glossary:​stream]]//​ is //​[[CL:​Glossary:​implementation-dependent]]//​.+  * a non-negative //​[[CL:​Glossary:​integer]]//​ that represents a position in the //​[[CL:​Glossary:​stream]]//​. Not all //​[[CL:​Glossary:​stream|streams]]// are able to represent the notion of //​[[CL:​Glossary:​file position]]//;​ in the description of any //​[[CL:​Glossary:​operator]]//​ which manipulates //​[[CL:​Glossary:​file position|file positions]]//,​ the behavior for //​[[CL:​Glossary:​stream|streams]]// that don't have this notion must be explicitly stated. For //​[[CL:​Glossary:​binary]]//​ //​[[CL:​Glossary:​stream|streams]]//,​ the //​[[CL:​Glossary:​file position]]//​ represents the number of preceding //​[[CL:​Glossary:​byte|bytes]]// in the //​[[CL:​Glossary:​stream]]//​. For //​[[CL:​Glossary:​character]]//​ //​[[CL:​Glossary:​stream|streams]]//,​ the constraint is more relaxed: //​[[CL:​Glossary:​file position|file positions]]//​ must increase monotonically,​ the amount of the increase between //​[[CL:​Glossary:​file position|file positions]]//​ corresponding to any two successive characters in the //​[[CL:​Glossary:​stream]]//​ is //​[[CL:​Glossary:​implementation-dependent]]//​.
  
 ===file position designator=== ===file position designator===
Line 1151: Line 1157:
 ===file system=== ===file system===
 //n.// //n.//
-  * a facility which permits aggregations of data to be stored in named //​[[CL:​Glossary:​files]]//​ on some medium that is external to the //​[[CL:​Glossary:​Lisp image]]// and that therefore persists from //​[[CL:​Glossary:​session]]//​ to //​[[CL:​Glossary:​session]]//​.+  * a facility which permits aggregations of data to be stored in named //​[[CL:​Glossary:​file|files]]// on some medium that is external to the //​[[CL:​Glossary:​Lisp image]]// and that therefore persists from //​[[CL:​Glossary:​session]]//​ to //​[[CL:​Glossary:​session]]//​.
  
 ===filename=== ===filename===
 //n.// //n.//
-  * a handle, not necessarily ever directly represented as an //​[[CL:​Glossary:​object]]//,​ that can be used to refer to a //​[[CL:​Glossary:​file]]//​ in a //​[[CL:​Glossary:​file system]]//. //​[[CL:​Glossary:​Pathnames]]//​ and //​[[CL:​Glossary:​namestrings]]//​ are two kinds of //​[[CL:​Glossary:​object|objects]]//​ that substitute for //​[[CL:​Glossary:​filenames]]//​ in Common Lisp.+  * a handle, not necessarily ever directly represented as an //​[[CL:​Glossary:​object]]//,​ that can be used to refer to a //​[[CL:​Glossary:​file]]//​ in a //​[[CL:​Glossary:​file system]]//. //​[[CL:​Glossary:​Pathname|Pathnames]]//​ and //​[[CL:​Glossary:​name|namestrings]]//​ are two kinds of //​[[CL:​Glossary:​object|objects]]//​ that substitute for //​[[CL:​Glossary:​filename|filenames]]//​ in Common Lisp.
 \issue{PATHNAME-HOST-PARSING:​RECOGNIZE-LOGICAL-HOST-NAMES} \issue{PATHNAME-HOST-PARSING:​RECOGNIZE-LOGICAL-HOST-NAMES}
  
 ===fill pointer=== ===fill pointer===
 //n.// (of a //​[[CL:​Glossary:​vector]]//​) //n.// (of a //​[[CL:​Glossary:​vector]]//​)
-  * an //​[[CL:​Glossary:​integer]]//​ associated with a //​[[CL:​Glossary:​vector]]//​ that represents the index above which no //​[[CL:​Glossary:​element|elements]]//​ are //​[[CL:​Glossary:​active]]//​. (A //​[[CL:​Glossary:​fill pointer]]// is a non-negative //​[[CL:​Glossary:​integer]]//​ no larger than the total number of //​[[CL:​Glossary:​element|elements]]//​ in the //​[[CL:​Glossary:​vector]]//​. Not all //​[[CL:​Glossary:​vectors]]//​ have //​[[CL:​Glossary:​fill pointers]]//​.)+  * an //​[[CL:​Glossary:​integer]]//​ associated with a //​[[CL:​Glossary:​vector]]//​ that represents the index above which no //​[[CL:​Glossary:​element|elements]]//​ are //​[[CL:​Glossary:​active]]//​. (A //​[[CL:​Glossary:​fill pointer]]// is a non-negative //​[[CL:​Glossary:​integer]]//​ no larger than the total number of //​[[CL:​Glossary:​element|elements]]//​ in the //​[[CL:​Glossary:​vector]]//​. Not all //​[[CL:​Glossary:​vector|vectors]]// have //​[[CL:​Glossary:​fill pointer|fill pointers]]//​.)
  
 ===finite=== ===finite===
Line 1176: Line 1182:
 ===for-value=== ===for-value===
 //adj.// (of a //​[[CL:​Glossary:​reference]]//​ to a //​[[CL:​Glossary:​binding]]//​) //adj.// (of a //​[[CL:​Glossary:​reference]]//​ to a //​[[CL:​Glossary:​binding]]//​)
-  * being a //​[[CL:​Glossary:​reference]]//​ that //​[[CL:​Glossary:​reads|reads<​sub>​1</​sub>​]]//​ the //​[[CL:​Glossary:​value]]//​ of the //​[[CL:​Glossary:​binding]]//​.+  * being a //​[[CL:​Glossary:​reference]]//​ that //​[[CL:​Glossary:​read|reads<​sub>​1</​sub>​]]//​ the //​[[CL:​Glossary:​value]]//​ of the //​[[CL:​Glossary:​binding]]//​.
 \issue{IGNORE-USE-TERMINOLOGY:​VALUE-ONLY} \issue{IGNORE-USE-TERMINOLOGY:​VALUE-ONLY}
  
Line 1194: Line 1200:
  
 ===format=== ===format===
-//v.t.// (a //​[[CL:​Glossary:​format control]]// and //​[[CL:​Glossary:​format arguments]]//​) +//v.t.// (a //​[[CL:​Glossary:​format control]]// and //​[[CL:​Glossary:​format argument|format arguments]]//​) 
-  * to perform output as if by **[[CL:​Functions:​format]]**,​ using the //​[[CL:​Glossary:​format string]]// and //​[[CL:​Glossary:​format arguments]]//​.+  * to perform output as if by **[[CL:​Functions:​format]]**,​ using the //​[[CL:​Glossary:​format string]]// and //​[[CL:​Glossary:​format argument|format arguments]]//​.
 \issue{FORMAT-STRING-ARGUMENTS:​SPECIFY} \issue{FORMAT-STRING-ARGUMENTS:​SPECIFY}
  
 ===format argument=== ===format argument===
 //n.// //n.//
-  * an //​[[CL:​Glossary:​object]]//​ which is used as data by functions such as **[[CL:​Functions:​format]]** which interpret //​[[CL:​Glossary:​format controls]]//​.+  * an //​[[CL:​Glossary:​object]]//​ which is used as data by functions such as **[[CL:​Functions:​format]]** which interpret //​[[CL:​Glossary:​format control|format controls]]//​.
 \issue{FORMAT-STRING-ARGUMENTS:​SPECIFY} \issue{FORMAT-STRING-ARGUMENTS:​SPECIFY}
  
Line 1209: Line 1215:
 ===format directive=== ===format directive===
 //n.// //n.//
-  * 1. a sequence of //​[[CL:​Glossary:​character|characters]]//​ in a //​[[CL:​Glossary:​format string]]// which is introduced by a //​[[CL:​Glossary:​tilde]]//,​ and which is specially interpreted by //​[[CL:​Glossary:​code]]//​ which processes //​[[CL:​Glossary:​format strings]]// to mean that some special operation should be performed, possibly involving data supplied by the //​[[CL:​Glossary:​format arguments]]//​ that accompanied the //​[[CL:​Glossary:​format string]]//. See **[[CL:​Functions:​format]]**. "In ''"​~D base 10 = ~8R"'',​ the character sequences "''​~D''"​ and "''​~8R''"​ are format directives."​ +  * 1. a sequence of //​[[CL:​Glossary:​character|characters]]//​ in a //​[[CL:​Glossary:​format string]]// which is introduced by a //​[[CL:​Glossary:​tilde]]//,​ and which is specially interpreted by //​[[CL:​Glossary:​code]]//​ which processes //​[[CL:​Glossary:​format string|format strings]]// to mean that some special operation should be performed, possibly involving data supplied by the //​[[CL:​Glossary:​format argument|format arguments]]//​ that accompanied the //​[[CL:​Glossary:​format string]]//. See **[[CL:​Functions:​format]]**. "In ''"​~D base 10 = ~8R"'',​ the character sequences "''​~D''"​ and "''​~8R''"​ are format directives."​ 
-  * 2. the conceptual category of all //​[[CL:​Glossary:​format ​directives|format directives<​sub>​1</​sub>​]]//​ which use the same dispatch character. "Both ''"​~3d"''​ and ''"​~3,'​0D"''​ are valid uses of the "''​~D''"​ format directive."​+  * 2. the conceptual category of all //​[[CL:​Glossary:​format ​directive|format directives<​sub>​1</​sub>​]]//​ which use the same dispatch character. "Both ''"​~3d"''​ and ''"​~3,'​0D"''​ are valid uses of the "''​~D''"​ format directive."​
  
 ===format string=== ===format string===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​string]]//​ which can contain both ordinary text and //​[[CL:​Glossary:​format directives]]//,​ and which is used in conjunction with //​[[CL:​Glossary:​format arguments]]//​ to describe how text output should be formatted by certain functions, such as **[[CL:​Functions:​format]]**.+  * a //​[[CL:​Glossary:​string]]//​ which can contain both ordinary text and //​[[CL:​Glossary:​format directive|format directives]]//,​ and which is used in conjunction with //​[[CL:​Glossary:​format argument|format arguments]]//​ to describe how text output should be formatted by certain functions, such as **[[CL:​Functions:​format]]**.
  
 ===free declaration=== ===free declaration===
Line 1222: Line 1228:
 ===fresh=== ===fresh===
 //adj.// //adj.//
-  * 1. (of an //​[[CL:​Glossary:​object]]//​ //​[[CL:​Glossary:​yielded]]//​ by a //​[[CL:​Glossary:​function]]//​) having been newly-allocated by that //​[[CL:​Glossary:​function]]//​. (The caller of a //​[[CL:​Glossary:​function]]//​ that returns a //​[[CL:​Glossary:​fresh]]//​ //​[[CL:​Glossary:​object]]//​ may freely modify the //​[[CL:​Glossary:​object]]//​ without fear that such modification will compromise the future correct behavior of that //​[[CL:​Glossary:​function]]//​.)+  * 1. (of an //​[[CL:​Glossary:​object]]//​ //​[[CL:​Glossary:​yield|yielded]]// by a //​[[CL:​Glossary:​function]]//​) having been newly-allocated by that //​[[CL:​Glossary:​function]]//​. (The caller of a //​[[CL:​Glossary:​function]]//​ that returns a //​[[CL:​Glossary:​fresh]]//​ //​[[CL:​Glossary:​object]]//​ may freely modify the //​[[CL:​Glossary:​object]]//​ without fear that such modification will compromise the future correct behavior of that //​[[CL:​Glossary:​function]]//​.)
   * 2. (of a //​[[CL:​Glossary:​binding]]//​ for a //​[[CL:​Glossary:​name]]//​) newly-allocated;​ not shared with other //​[[CL:​Glossary:​binding|bindings]]//​ for that //​[[CL:​Glossary:​name]]//​.   * 2. (of a //​[[CL:​Glossary:​binding]]//​ for a //​[[CL:​Glossary:​name]]//​) newly-allocated;​ not shared with other //​[[CL:​Glossary:​binding|bindings]]//​ for that //​[[CL:​Glossary:​name]]//​.
  
Line 1240: Line 1246:
 ===function block name=== ===function block name===
 //n.// (of a //​[[CL:​Glossary:​function name]]//) //n.// (of a //​[[CL:​Glossary:​function name]]//)
-  * the //​[[CL:​Glossary:​symbol]]//​ that would be used as the name of an //​[[CL:​Glossary:​implicit block]]// which surrounds the body of a //​[[CL:​Glossary:​function]]//​ having that //​[[CL:​Glossary:​function name]]//. If the //​[[CL:​Glossary:​function name]]// is a //​[[CL:​Glossary:​symbol]]//,​ its //​[[CL:​Glossary:​function block name]]// is the //​[[CL:​Glossary:​function name]]// itself. If the //​[[CL:​Glossary:​function name]]// is a //​[[CL:​Glossary:​list]]//​ whose //​[[CL:​Glossary:​car]]//​ is **[[CL:Types:setf]]** and whose //​[[CL:​Glossary:​cadr]]//​ is a //​[[CL:​Glossary:​symbol]]//,​ its //​[[CL:​Glossary:​function block name]]// is the //​[[CL:​Glossary:​symbol]]//​ that is the //​[[CL:​Glossary:​cadr]]//​ of the //​[[CL:​Glossary:​function name]]//. An //​[[CL:​Glossary:​implementation]]//​ which supports additional kinds of //​[[CL:​Glossary:​function names]]// must specify for each how the corresponding //​[[CL:​Glossary:​function block name]]// is computed.+  * the //​[[CL:​Glossary:​symbol]]//​ that would be used as the name of an //​[[CL:​Glossary:​implicit block]]// which surrounds the body of a //​[[CL:​Glossary:​function]]//​ having that //​[[CL:​Glossary:​function name]]//. If the //​[[CL:​Glossary:​function name]]// is a //​[[CL:​Glossary:​symbol]]//,​ its //​[[CL:​Glossary:​function block name]]// is the //​[[CL:​Glossary:​function name]]// itself. If the //​[[CL:​Glossary:​function name]]// is a //​[[CL:​Glossary:​list]]//​ whose //​[[CL:​Glossary:​car]]//​ is **[[CL:Macros:setf]]** and whose //​[[CL:​Glossary:​cadr]]//​ is a //​[[CL:​Glossary:​symbol]]//,​ its //​[[CL:​Glossary:​function block name]]// is the //​[[CL:​Glossary:​symbol]]//​ that is the //​[[CL:​Glossary:​cadr]]//​ of the //​[[CL:​Glossary:​function name]]//. An //​[[CL:​Glossary:​implementation]]//​ which supports additional kinds of //​[[CL:​Glossary:​function name|function names]]// must specify for each how the corresponding //​[[CL:​Glossary:​function block name]]// is computed.
  
 ===function cell=== ===function cell===
 //n.//, //Trad.// (of a //​[[CL:​Glossary:​symbol]]//​) //n.//, //Trad.// (of a //​[[CL:​Glossary:​symbol]]//​)
-  * the //​[[CL:​Glossary:​place]]//​ which holds the //​[[CL:​Glossary:​definition]]// of the global //​[[CL:​Glossary:​function]]//​ //​[[CL:​Glossary:​binding]]//,​ if any, named by that //​[[CL:​Glossary:​symbol]]//,​ and which is //​[[CL:​Glossary:​accessed]]//​ by **[[CL:​Functions:​symbol-function]]**. See //​[[CL:​Glossary:​cell]]//​.+  * the //​[[CL:​Glossary:​place]]//​ which holds the definition of the global //​[[CL:​Glossary:​function]]//​ //​[[CL:​Glossary:​binding]]//,​ if any, named by that //​[[CL:​Glossary:​symbol]]//,​ and which is //​[[CL:​Glossary:​access|accessed]]//​ by **[[CL:​Functions:​symbol-function]]**. See //​[[CL:​Glossary:​cell]]//​.
  
 ===function designator=== ===function designator===
Line 1252: Line 1258:
 ===function form=== ===function form===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​form]]//​ that is a //​[[CL:​Glossary:​list]]//​ and that has a first element which is the //​[[CL:​Glossary:​name]]//​ of a //​[[CL:​Glossary:​function]]//​ to be called on //​[[CL:​Glossary:​argument|arguments]]//​ which are the result of //​[[CL:​Glossary:​evaluating]]//​ subsequent elements of the //​[[CL:​Glossary:​function form]]//.+  * a //​[[CL:​Glossary:​form]]//​ that is a //​[[CL:​Glossary:​list]]//​ and that has a first element which is the //​[[CL:​Glossary:​name]]//​ of a //​[[CL:​Glossary:​function]]//​ to be called on //​[[CL:​Glossary:​argument|arguments]]//​ which are the result of //​[[CL:​Glossary:​evaluate|evaluating]]//​ subsequent elements of the //​[[CL:​Glossary:​function form]]//.
  
 ===function name=== ===function name===
Line 1265: Line 1271:
 ===functional value=== ===functional value===
 //n.// //n.//
-  * 1. (of a //​[[CL:​Glossary:​function name]]// //N// in an //​[[CL:​Glossary:​environment]]//​ //E//) The //​[[CL:​Glossary:​value]]//​ of the //​[[CL:​Glossary:​binding]]//​ named //N// in the //​[[CL:​Glossary:​function]]//​ //​[[CL:​Glossary:​namespace]]//​ for //​[[CL:​Glossary:​environment]]//​ //E//; that is, the contents of the //​[[CL:​Glossary:​function cell]]// named //N// in //​[[CL:​Glossary:​environment]]//​ //E//. +  * 1. (of a //​[[CL:​Glossary:​function name]]// //N// in an //​[[CL:​Glossary:​environment]]//​ //E//) The //​[[CL:​Glossary:​value]]//​ of the //​[[CL:​Glossary:​binding]]//​ named //N// in the //​[[CL:​Glossary:​function]]//​ //​[[CL:​Glossary:​name|namespace]]//​ for //​[[CL:​Glossary:​environment]]//​ //E//; that is, the contents of the //​[[CL:​Glossary:​function cell]]// named //N// in //​[[CL:​Glossary:​environment]]//​ //E//. 
-  * 2. (of an //​[[CL:​Glossary:​fbound]]//​ //​[[CL:​Glossary:​symbol]]//​ //S//) the contents of the //​[[CL:​Glossary:​symbol]]//'​s //​[[CL:​Glossary:​function cell]]//; that is, the //​[[CL:​Glossary:​value]]//​ of the //​[[CL:​Glossary:​binding]]//​ named //S// in the //​[[CL:​Glossary:​function]]//​ //​[[CL:​Glossary:​namespace]]//​ of the //​[[CL:​Glossary:​global environment]]//​. (A //​[[CL:​Glossary:​name]]//​ that is a //​[[CL:​Glossary:​macro name]]// in the //​[[CL:​Glossary:​global environment]]//​ or is a //​[[CL:​Glossary:​special operator]]//​ might or might not be //​[[CL:​Glossary:​fbound]]//​. But if //S// is such a //​[[CL:​Glossary:​name]]//​ and is //​[[CL:​Glossary:​fbound]]//,​ the specific nature of its //​[[CL:​Glossary:​functional value]]// is //​[[CL:​Glossary:​implementation-dependent]]//;​ in particular, it might or might not be a //​[[CL:​Glossary:​function]]//​.)+  * 2. (of an //​[[CL:​Glossary:​fbound]]//​ //​[[CL:​Glossary:​symbol]]//​ //S//) the contents of the //​[[CL:​Glossary:​symbol]]//'​s //​[[CL:​Glossary:​function cell]]//; that is, the //​[[CL:​Glossary:​value]]//​ of the //​[[CL:​Glossary:​binding]]//​ named //S// in the //​[[CL:​Glossary:​function]]//​ //​[[CL:​Glossary:​name|namespace]]//​ of the //​[[CL:​Glossary:​global environment]]//​. (A //​[[CL:​Glossary:​name]]//​ that is a //​[[CL:​Glossary:​macro name]]// in the //​[[CL:​Glossary:​global environment]]//​ or is a //​[[CL:​Glossary:​special operator]]//​ might or might not be //​[[CL:​Glossary:​fbound]]//​. But if //S// is such a //​[[CL:​Glossary:​name]]//​ and is //​[[CL:​Glossary:​fbound]]//,​ the specific nature of its //​[[CL:​Glossary:​functional value]]// is //​[[CL:​Glossary:​implementation-dependent]]//;​ in particular, it might or might not be a //​[[CL:​Glossary:​function]]//​.)
  
 ===further compilation=== ===further compilation===
Line 1284: Line 1290:
 ===generalized instance=== ===generalized instance===
 //n.// (of a //​[[CL:​Glossary:​class]]//​) //n.// (of a //​[[CL:​Glossary:​class]]//​)
-  * an //​[[CL:​Glossary:​object]]//​ the //​[[CL:​Glossary:​class]]//​ of which is either that //​[[CL:​Glossary:​class]]//​ itself, or some subclass of that //​[[CL:​Glossary:​class]]//​. (Because of the correspondence between types and classes, the term "​generalized instance of //X//" implies "​object of type //X//" and in cases where //X// is a //​[[CL:​Glossary:​class]]//​ (or //​[[CL:​Glossary:​class name]]//) the reverse is also true. The former terminology emphasizes the view of //X// as a //​[[CL:​Glossary:​class]]//​ while the latter emphasizes the view of //X// as a //​[[CL:​Glossary:​type specifier]]//​.)+  * an //​[[CL:​Glossary:​object]]//​ the //​[[CL:​Glossary:​class]]//​ of which is either that //​[[CL:​Glossary:​class]]//​ itself, or some subclass of that //​[[CL:​Glossary:​class]]//​. (Because of the correspondence between types and classes, the term "​generalized instance of //X//" implies "​object of type //X//" and in cases where //X// is a //​[[CL:​Glossary:​class]]//​ (or //​[[CL:​Glossary:​class]]// //​[[CL:​Glossary:​name]]//) the reverse is also true. The former terminology emphasizes the view of //X// as a //​[[CL:​Glossary:​class]]//​ while the latter emphasizes the view of //X// as a //​[[CL:​Glossary:​type specifier]]//​.)
  
 ===generalized reference=== ===generalized reference===
Line 1297: Line 1303:
 ===generic function=== ===generic function===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​function]]//​ whose behavior depends on the //​[[CL:​Glossary:​classes]]//​ or identities of the arguments supplied to it and whose parts include, among other things, a set of //​[[CL:​Glossary:​method|methods]]//,​ a //​[[CL:​Glossary:​lambda list]]//, and a //​[[CL:​Glossary:​method combination]]//​ type.+  * a //​[[CL:​Glossary:​function]]//​ whose behavior depends on the //​[[CL:​Glossary:​class|classes]]// or identities of the arguments supplied to it and whose parts include, among other things, a set of //​[[CL:​Glossary:​method|methods]]//,​ a //​[[CL:​Glossary:​lambda list]]//, and a //​[[CL:​Glossary:​method combination]]//​ type.
  
 ===generic function lambda list=== ===generic function lambda list===
Line 1329: Line 1335:
 ===go point=== ===go point===
 //n.// //n.//
-  * one of possibly several //​[[CL:​Glossary:​exit points]]// that are //​[[CL:​Glossary:​establish|established]]//​ by **[[CL:​Special Operators:​tagbody]]** (or other abstractions,​ such as **[[CL:​Macros:​prog]]**,​ which are built from **[[CL:​Special Operators:​tagbody]]**).+  * one of possibly several //​[[CL:​Glossary:​exit point|exit points]]// that are //​[[CL:​Glossary:​establish|established]]//​ by **[[CL:​Special Operators:​tagbody]]** (or other abstractions,​ such as **[[CL:​Macros:​prog]]**,​ which are built from **[[CL:​Special Operators:​tagbody]]**).
  
 ===go tag=== ===go tag===
Line 1343: Line 1349:
 ===handle=== ===handle===
 //v.// (of a //​[[CL:​Glossary:​condition]]//​ being //​[[CL:​Glossary:​signal|signaled]]//​) //v.// (of a //​[[CL:​Glossary:​condition]]//​ being //​[[CL:​Glossary:​signal|signaled]]//​)
-  * to perform a non-local transfer of control, terminating the ongoing //​[[CL:​Glossary:​signaling]]//​ of the //​[[CL:​Glossary:​condition]]//​.+  * to perform a non-local transfer of control, terminating the ongoing //​[[CL:​Glossary:​signal|signaling]]//​ of the //​[[CL:​Glossary:​condition]]//​.
  
 ===handler=== ===handler===
Line 1355: Line 1361:
 ===home package=== ===home package===
 //n.// (of a //​[[CL:​Glossary:​symbol]]//​) //n.// (of a //​[[CL:​Glossary:​symbol]]//​)
-  * the //​[[CL:​Glossary:​package]]//,​ if any, which is contents of the //​[[CL:​Glossary:​package cell]]// of the //​[[CL:​Glossary:​symbol]]//,​ and which dictates how the //​[[CL:​Glossary:​Lisp printer]]// prints the //​[[CL:​Glossary:​symbol]]//​ when it is not //​[[CL:​Glossary:​accessible]]//​ in the //​[[CL:​Glossary:​current package]]//​. (//​[[CL:​Glossary:​Symbols]]//​ which have **[[CL:​Constant Variables:​nil]]** in their //​[[CL:​Glossary:​package cell]]// are said to have no //​[[CL:​Glossary:​home package]]//,​ and also to be //​[[CL:​Glossary:​apparently uninterned]]//​.)+  * the //​[[CL:​Glossary:​package]]//,​ if any, which is contents of the //​[[CL:​Glossary:​package cell]]// of the //​[[CL:​Glossary:​symbol]]//,​ and which dictates how the //​[[CL:​Glossary:​Lisp printer]]// prints the //​[[CL:​Glossary:​symbol]]//​ when it is not //​[[CL:​Glossary:​accessible]]//​ in the //​[[CL:​Glossary:​current package]]//​. (//​[[CL:​Glossary:​symbol|Symbols]]// which have **[[CL:​Constant Variables:​nil]]** in their //​[[CL:​Glossary:​package cell]]// are said to have no //​[[CL:​Glossary:​home package]]//,​ and also to be //​[[CL:​Glossary:​apparently uninterned]]//​.)
  
 =====I===== =====I=====
Line 1361: Line 1367:
 ===I/O customization variable=== ===I/O customization variable===
 //n.// //n.//
-  * one of the //​[[CL:​Glossary:​stream variables]]//​ in the below list, or some other (//​[[CL:​Glossary:​implementation-defined]]//​) //​[[CL:​Glossary:​stream variable]]//​ that is defined by the //​[[CL:​Glossary:​implementation]]//​ to be an //​[[CL:​Glossary:​I/​O customization variable]]//​.+  * one of the //​[[CL:​Glossary:​stream variable|stream variables]]//​ in the below list, or some other (//​[[CL:​Glossary:​implementation-defined]]//​) //​[[CL:​Glossary:​stream variable]]//​ that is defined by the //​[[CL:​Glossary:​implementation]]//​ to be an //​[[CL:​Glossary:​IO customization variable|I/O customization variable]]//​.
  
   * **[[CL:​Variables:​star-debug-io-star|*debug-io*]]**   * **[[CL:​Variables:​star-debug-io-star|*debug-io*]]**
-  * **[[CL:​Variables:​star-error-io-star|*error-io*]]**+  * **[[CL:​Variables:​star-error-output-star|*error-output*]]**
   * **[[CL:​Variables:​star-query-io-star|*query-io*]]**   * **[[CL:​Variables:​star-query-io-star|*query-io*]]**
   * **[[CL:​Variables:​star-standard-input-star|*standard-input*]]**   * **[[CL:​Variables:​star-standard-input-star|*standard-input*]]**
Line 1376: Line 1382:
 ===identifier=== ===identifier===
 //n.// //n.//
-  * 1. a //​[[CL:​Glossary:​symbol]]//​ used to identify or to distinguish //​[[CL:​Glossary:​names]]//​.+  * 1. a //​[[CL:​Glossary:​symbol]]//​ used to identify or to distinguish //​[[CL:​Glossary:​name|names]]//.
   * 2. a //​[[CL:​Glossary:​string]]//​ used the same way.   * 2. a //​[[CL:​Glossary:​string]]//​ used the same way.
  
 ===immutable=== ===immutable===
 //adj.// //adj.//
-  * not subject to change, either because no //​[[CL:​Glossary:​operator]]//​ is provided which is capable of effecting such change or because some constraint exists which prohibits the use of an //​[[CL:​Glossary:​operator]]//​ that might otherwise be capable of effecting such a change. Except as explicitly indicated otherwise, //​[[CL:​Glossary:​implementation|implementations]]//​ are not required to detect attempts to modify //​[[CL:​Glossary:​immutable]]//​ //​[[CL:​Glossary:​object|objects]]//​ or //​[[CL:​Glossary:​cells]]//;​ the consequences of attempting to make such modification are undefined. "​Numbers are immutable."​+  * not subject to change, either because no //​[[CL:​Glossary:​operator]]//​ is provided which is capable of effecting such change or because some constraint exists which prohibits the use of an //​[[CL:​Glossary:​operator]]//​ that might otherwise be capable of effecting such a change. Except as explicitly indicated otherwise, //​[[CL:​Glossary:​implementation|implementations]]//​ are not required to detect attempts to modify //​[[CL:​Glossary:​immutable]]//​ //​[[CL:​Glossary:​object|objects]]//​ or //​[[CL:​Glossary:​cell|cells]]//; the consequences of attempting to make such modification are undefined. "​Numbers are immutable."​
  
 ===implementation=== ===implementation===
Line 1397: Line 1403:
 ===implementation-dependent=== ===implementation-dependent===
 //adj.// //adj.//
-  * describing a behavior or aspect of Common Lisp which has been deliberately left unspecified,​ that might be defined in some //​[[CL:​Glossary:​conforming implementations]]//​ but not in others, and whose details may differ between //​[[CL:​Glossary:​implementation|implementations]]//​. A //​[[CL:​Glossary:​conforming implementation]]//​ is encouraged (but not required) to document its treatment of each item in this specification which is marked //​[[CL:​Glossary:​implementation-dependent]]//,​ although in some cases such documentation might simply identify the item as "​undefined."​+  * describing a behavior or aspect of Common Lisp which has been deliberately left unspecified,​ that might be defined in some //​[[CL:​Glossary:​conforming implementation|conforming implementations]]//​ but not in others, and whose details may differ between //​[[CL:​Glossary:​implementation|implementations]]//​. A //​[[CL:​Glossary:​conforming implementation]]//​ is encouraged (but not required) to document its treatment of each item in this specification which is marked //​[[CL:​Glossary:​implementation-dependent]]//,​ although in some cases such documentation might simply identify the item as "​undefined."​
 ===implementation-independent=== ===implementation-independent===
-//adj.// used to identify or emphasize a behavior or aspect of Common Lisp which does not vary between //​[[CL:​Glossary:​conforming implementations]]//​.+//adj.// used to identify or emphasize a behavior or aspect of Common Lisp which does not vary between //​[[CL:​Glossary:​conforming implementation|conforming implementations]]//​.
  
 ===implicit block=== ===implicit block===
Line 1415: Line 1421:
 ===implicit tagbody=== ===implicit tagbody===
 //n.// //n.//
-  * an ordered set of adjacent //​[[CL:​Glossary:​form|forms]]//​ and/or //​[[CL:​Glossary:​tags]]//​ appearing in another //​[[CL:​Glossary:​form]]//,​ and defined by their context in that //​[[CL:​Glossary:​form]]//​ to be executed as if within a **[[CL:​Special Operators:​tagbody]]**.+  * an ordered set of adjacent //​[[CL:​Glossary:​form|forms]]//​ and/or //​[[CL:​Glossary:​tag|tags]]// appearing in another //​[[CL:​Glossary:​form]]//,​ and defined by their context in that //​[[CL:​Glossary:​form]]//​ to be executed as if within a **[[CL:​Special Operators:​tagbody]]**.
  
 ===import=== ===import===
Line 1463: Line 1469:
 ===initialization argument list=== ===initialization argument list===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​property list]]// of initialization argument //​[[CL:​Glossary:​names]]//​ and //​[[CL:​Glossary:​value|values]]//​ used in the protocol for initializing and reinitializing //​[[CL:​Glossary:​instances]]//​ of //​[[CL:​Glossary:​classes]]//​. \Seesection\ObjectCreationAndInit.+  * a //​[[CL:​Glossary:​property list]]// of initialization argument //​[[CL:​Glossary:​name|names]]// and //​[[CL:​Glossary:​value|values]]//​ used in the protocol for initializing and reinitializing //​[[CL:​Glossary:​instance|instances]]//​ of //​[[CL:​Glossary:​class|classes]]//​. \Seesection\ObjectCreationAndInit.
 \issue{PLIST-DUPLICATES:​ALLOW} \issue{PLIST-DUPLICATES:​ALLOW}
  
Line 1499: Line 1505:
 ===internal time=== ===internal time===
 //n.// //n.//
-  * //​[[CL:​Glossary:​time]]//,​ represented as an //​[[CL:​Glossary:​integer]]//​ number of //​[[CL:​Glossary:​internal time units]]//. //​[[CL:​Glossary:​Absolute]]//​ //​[[CL:​Glossary:​internal time]]// is measured as an offset from an arbitrarily chosen, //​[[CL:​Glossary:​implementation-dependent]]//​ base. \Seesection\InternalTime.+  * //​[[CL:​Glossary:​time]]//,​ represented as an //​[[CL:​Glossary:​integer]]//​ number of //​[[CL:​Glossary:​internal time unit|internal time units]]//. //​[[CL:​Glossary:​Absolute]]//​ //​[[CL:​Glossary:​internal time]]// is measured as an offset from an arbitrarily chosen, //​[[CL:​Glossary:​implementation-dependent]]//​ base. \Seesection\InternalTime.
  
 ===internal time unit=== ===internal time unit===
Line 1512: Line 1518:
 ===interpreted function=== ===interpreted function===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​function]]//​ that is not a //​[[CL:​Glossary:​compiled function]]//​. (It is possible for there to be a //​[[CL:​Glossary:​conforming implementation]]//​ which has no //​[[CL:​Glossary:​interpreted functions]]//,​ but a //​[[CL:​Glossary:​conforming program]]// must not assume that all //​[[CL:​Glossary:​function|functions]]//​ are //​[[CL:​Glossary:​compiled functions]]//​.)+  * a //​[[CL:​Glossary:​function]]//​ that is not a //​[[CL:​Glossary:​compile|compiled function]]//​. (It is possible for there to be a //​[[CL:​Glossary:​conforming implementation]]//​ which has no //​[[CL:​Glossary:​interpreted function|interpreted functions]]//,​ but a //​[[CL:​Glossary:​conforming program]]// must not assume that all //​[[CL:​Glossary:​function|functions]]//​ are //​[[CL:​Glossary:​compiled function|compiled functions]]//​.)
  
 ===interpreted implementation=== ===interpreted implementation===
 //n.// //n.//
-  * an //​[[CL:​Glossary:​implementation]]//​ that uses an execution strategy for //​[[CL:​Glossary:​interpreted functions]]//​ that does not involve a one-time semantic analysis pre-pass, and instead uses "​lazy"​ (and sometimes repetitious) semantic analysis of //​[[CL:​Glossary:​form|forms]]//​ as they are encountered during execution.+  * an //​[[CL:​Glossary:​implementation]]//​ that uses an execution strategy for //​[[CL:​Glossary:​interpreted function|interpreted functions]]//​ that does not involve a one-time semantic analysis pre-pass, and instead uses "​lazy"​ (and sometimes repetitious) semantic analysis of //​[[CL:​Glossary:​form|forms]]//​ as they are encountered during execution.
  
 ===interval designator=== ===interval designator===
Line 1578: Line 1584:
 ===lambda form=== ===lambda form===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​form]]//​ that is a //​[[CL:​Glossary:​list]]//​ and that has a first element which is a //​[[CL:​Glossary:​lambda expression]]//​ representing a //​[[CL:​Glossary:​function]]//​ to be called on //​[[CL:​Glossary:​argument|arguments]]//​ which are the result of //​[[CL:​Glossary:​evaluating]]//​ subsequent elements of the //​[[CL:​Glossary:​lambda form]]//.+  * a //​[[CL:​Glossary:​form]]//​ that is a //​[[CL:​Glossary:​list]]//​ and that has a first element which is a //​[[CL:​Glossary:​lambda expression]]//​ representing a //​[[CL:​Glossary:​function]]//​ to be called on //​[[CL:​Glossary:​argument|arguments]]//​ which are the result of //​[[CL:​Glossary:​evaluate|evaluating]]//​ subsequent elements of the //​[[CL:​Glossary:​lambda form]]//.
  
 ===lambda list=== ===lambda list===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​list]]//​ that specifies a set of //​[[CL:​Glossary:​parameter|parameters]]//​ (sometimes called //​[[CL:​Glossary:​lambda variables]]//​) and a protocol for receiving //​[[CL:​Glossary:​value|values]]//​ for those //​[[CL:​Glossary:​parameter|parameters]]//;​ that is, an //​[[CL:​Glossary:​ordinary lambda list]]//, an //​[[CL:​Glossary:​extended lambda list]]//, or a //​[[CL:​Glossary:​modified lambda list]]//.+  * a //​[[CL:​Glossary:​list]]//​ that specifies a set of //​[[CL:​Glossary:​parameter|parameters]]//​ (sometimes called //​[[CL:​Glossary:​lambda variable|lambda variables]]//​) and a protocol for receiving //​[[CL:​Glossary:​value|values]]//​ for those //​[[CL:​Glossary:​parameter|parameters]]//;​ that is, an //​[[CL:​Glossary:​ordinary lambda list]]//, an //​[[CL:​Glossary:​extended lambda list]]//, or a //​[[CL:​Glossary:​modified lambda list]]//.
  
 ===lambda list keyword=== ===lambda list keyword===
Line 1619: Line 1625:
 ===lexical environment=== ===lexical environment===
 //n.// //n.//
-  * that part of the //​[[CL:​Glossary:​environment]]//​ that contains //​[[CL:​Glossary:​binding|bindings]]//​ whose names have //​[[CL:​Glossary:​lexical scope]]//. A //​[[CL:​Glossary:​lexical environment]]//​ contains, among other things: ordinary //​[[CL:​Glossary:​binding|bindings]]//​ of //​[[CL:​Glossary:​variable]]//​ //​[[CL:​Glossary:​names]]//​ to //​[[CL:​Glossary:​value|values]]//,​ lexically //​[[CL:​Glossary:​establish|established]]//​ //​[[CL:​Glossary:​binding|bindings]]//​ of //​[[CL:​Glossary:​function names]]// to //​[[CL:​Glossary:​function|functions]]//,​ //​[[CL:​Glossary:​macros]]//,​ //​[[CL:​Glossary:​symbol macros]]//, //​[[CL:​Glossary:​blocks]]//,​ //​[[CL:​Glossary:​tags]]//,​ and //​[[CL:​Glossary:​local declarations]]//​ (see **[[CL:​Symbols:​declare]]**).+  * that part of the //​[[CL:​Glossary:​environment]]//​ that contains //​[[CL:​Glossary:​binding|bindings]]//​ whose names have //​[[CL:​Glossary:​lexical scope]]//. A //​[[CL:​Glossary:​lexical environment]]//​ contains, among other things: ordinary //​[[CL:​Glossary:​binding|bindings]]//​ of //​[[CL:​Glossary:​variable]]//​ //​[[CL:​Glossary:​name|names]]// to //​[[CL:​Glossary:​value|values]]//,​ lexically //​[[CL:​Glossary:​establish|established]]//​ //​[[CL:​Glossary:​binding|bindings]]//​ of //​[[CL:​Glossary:​function name|function names]]// to //​[[CL:​Glossary:​function|functions]]//,​ //​[[CL:​Glossary:​macro|macros]]//, //​[[CL:​Glossary:​symbol macro|symbol macros]]//, //​[[CL:​Glossary:​block|blocks]]//, //​[[CL:​Glossary:​tag|tags]]//, and //​[[CL:​Glossary:​local declaration|local declarations]]//​ (see **[[CL:​Symbols:​declare]]**).
  
 ===lexical scope=== ===lexical scope===
Line 1631: Line 1637:
 ===Lisp image=== ===Lisp image===
 //n.// //n.//
-  * a running instantiation of a Common Lisp //​[[CL:​Glossary:​implementation]]//​. A //​[[CL:​Glossary:​Lisp image]]// is characterized by a single address space in which any //​[[CL:​Glossary:​object]]//​ can directly refer to any another in conformance with this specification,​ and by a single, common, //​[[CL:​Glossary:​global environment]]//​. (External operating systems sometimes call this a "core image,"​ "​fork,"​ "​incarnation,"​ "​job,"​ or "​process."​ Note however, that the issue of a "​process"​ in such an operating system is technically orthogonal to the issue of a //​[[CL:​Glossary:​Lisp image]]// being defined here. Depending on the operating system, a single "​process"​ might have multiple //​[[CL:​Glossary:​Lisp images]]//, and multiple "​processes"​ might reside in a single //​[[CL:​Glossary:​Lisp image]]//. Hence, it is the idea of a fully shared address space for direct reference among all //​[[CL:​Glossary:​object|objects]]//​ which is the defining characteristic. Note, too, that two "​processes"​ which have a communication area that permits the sharing of some but not all //​[[CL:​Glossary:​object|objects]]//​ are considered to be distinct //​[[CL:​Glossary:​Lisp images]]//​.)+  * a running instantiation of a Common Lisp //​[[CL:​Glossary:​implementation]]//​. A //​[[CL:​Glossary:​Lisp image]]// is characterized by a single address space in which any //​[[CL:​Glossary:​object]]//​ can directly refer to any another in conformance with this specification,​ and by a single, common, //​[[CL:​Glossary:​global environment]]//​. (External operating systems sometimes call this a "core image,"​ "​fork,"​ "​incarnation,"​ "​job,"​ or "​process."​ Note however, that the issue of a "​process"​ in such an operating system is technically orthogonal to the issue of a //​[[CL:​Glossary:​Lisp image]]// being defined here. Depending on the operating system, a single "​process"​ might have multiple //​[[CL:​Glossary:​Lisp image|Lisp images]]//, and multiple "​processes"​ might reside in a single //​[[CL:​Glossary:​Lisp image]]//. Hence, it is the idea of a fully shared address space for direct reference among all //​[[CL:​Glossary:​object|objects]]//​ which is the defining characteristic. Note, too, that two "​processes"​ which have a communication area that permits the sharing of some but not all //​[[CL:​Glossary:​object|objects]]//​ are considered to be distinct //​[[CL:​Glossary:​Lisp image|Lisp images]]//​.)
  
 ===Lisp printer=== ===Lisp printer===
Line 1639: Line 1645:
 ===Lisp read-eval-print loop=== ===Lisp read-eval-print loop===
 //n.//, //Trad.// //n.//, //Trad.//
-  * an endless loop that //​[[CL:​Glossary:​reads|reads<​sub>​2</​sub>​]]//​ a //​[[CL:​Glossary:​form]]//,​ //​[[CL:​Glossary:​evaluates]]//​ it, and prints (i.e. //​[[CL:​Glossary:​writes|writes<​sub>​2</​sub>​]]//​) the results. In many //​[[CL:​Glossary:​implementation|implementations]]//,​ the default mode of interaction with Common Lisp during program development is through such a loop.+  * an endless loop that //​[[CL:​Glossary:​read|reads<​sub>​2</​sub>​]]//​ a //​[[CL:​Glossary:​form]]//,​ //​[[CL:​Glossary:​evaluate|evaluates]]//​ it, and prints (i.e. //​[[CL:​Glossary:​write|writes<​sub>​2</​sub>​]]//​) the results. In many //​[[CL:​Glossary:​implementation|implementations]]//,​ the default mode of interaction with Common Lisp during program development is through such a loop.
  
 ===Lisp reader=== ===Lisp reader===
Line 1656: Line 1662:
 ===list structure=== ===list structure===
 //n.// (of a //​[[CL:​Glossary:​list]]//​) //n.// (of a //​[[CL:​Glossary:​list]]//​)
-  * the set of //​[[CL:​Glossary:​cons|conses]]//​ that make up the //​[[CL:​Glossary:​list]]//​. Note that while the //​[[CL:​Glossary:​car|car<​sub>​1b</​sub>​]]//​ component of each such //​[[CL:​Glossary:​cons]]//​ is part of the //​[[CL:​Glossary:​list structure]]//,​ the //​[[CL:​Glossary:​object|objects]]//​ that are //​[[CL:​Glossary:​element|elements]]//​ of the //​[[CL:​Glossary:​list]]//​ (i.e. the //​[[CL:​Glossary:​object|objects]]//​ that are the //​[[CL:​Glossary:​cars|cars<​sub>​2</​sub>​]]//​ of each //​[[CL:​Glossary:​cons]]//​ in the //​[[CL:​Glossary:​list]]//​) are not themselves part of its //​[[CL:​Glossary:​list structure]]//,​ even if they are //​[[CL:​Glossary:​cons|conses]]//,​ except in the (//​[[CL:​Glossary:​circular|circular<​sub>​2</​sub>​]]//​) case where the //​[[CL:​Glossary:​list]]//​ actually contains one of its //​[[CL:​Glossary:​tails]]//​ as an //​[[CL:​Glossary:​element]]//​. (The //​[[CL:​Glossary:​list structure]]//​ of a //​[[CL:​Glossary:​list]]//​ is sometimes redundantly referred to as its "​top-level list structure"​ in order to emphasize that any //​[[CL:​Glossary:​cons|conses]]//​ that are //​[[CL:​Glossary:​element|elements]]//​ of the //​[[CL:​Glossary:​list]]//​ are not involved.)+  * the set of //​[[CL:​Glossary:​cons|conses]]//​ that make up the //​[[CL:​Glossary:​list]]//​. Note that while the //​[[CL:​Glossary:​car|car<​sub>​1b</​sub>​]]//​ component of each such //​[[CL:​Glossary:​cons]]//​ is part of the //​[[CL:​Glossary:​list structure]]//,​ the //​[[CL:​Glossary:​object|objects]]//​ that are //​[[CL:​Glossary:​element|elements]]//​ of the //​[[CL:​Glossary:​list]]//​ (i.e. the //​[[CL:​Glossary:​object|objects]]//​ that are the //​[[CL:​Glossary:​car|cars<​sub>​2</​sub>​]]//​ of each //​[[CL:​Glossary:​cons]]//​ in the //​[[CL:​Glossary:​list]]//​) are not themselves part of its //​[[CL:​Glossary:​list structure]]//,​ even if they are //​[[CL:​Glossary:​cons|conses]]//,​ except in the (//​[[CL:​Glossary:​circular|circular<​sub>​2</​sub>​]]//​) case where the //​[[CL:​Glossary:​list]]//​ actually contains one of its //​[[CL:​Glossary:​tail|tails]]// as an //​[[CL:​Glossary:​element]]//​. (The //​[[CL:​Glossary:​list structure]]//​ of a //​[[CL:​Glossary:​list]]//​ is sometimes redundantly referred to as its "​top-level list structure"​ in order to emphasize that any //​[[CL:​Glossary:​cons|conses]]//​ that are //​[[CL:​Glossary:​element|elements]]//​ of the //​[[CL:​Glossary:​list]]//​ are not involved.)
  
 ===literal=== ===literal===
Line 1668: Line 1674:
 ===load time=== ===load time===
 //n.// //n.//
-  * the duration of time that the loader is //​[[CL:​Glossary:​loading]]//​ //​[[CL:​Glossary:​compiled code]]//.+  * the duration of time that the loader is //​[[CL:​Glossary:​load|loading]]// //​[[CL:​Glossary:​compile|compiled code]]//.
  
 ===load time value=== ===load time value===
 //n.// //n.//
-  * an //​[[CL:​Glossary:​object]]//​ referred to in //​[[CL:​Glossary:​code]]//​ by a **[[CL:​Special Operators:​load-time-value]]** //​[[CL:​Glossary:​form]]//​. The //​[[CL:​Glossary:​value]]//​ of such a //​[[CL:​Glossary:​form]]//​ is some specific //​[[CL:​Glossary:​object]]//​ which can only be computed in the run-time //​[[CL:​Glossary:​environment]]//​. In the case of //​[[CL:​Glossary:​file]]//​ //​[[CL:​Glossary:​compilation]]//,​ the //​[[CL:​Glossary:​value]]//​ is computed once as part of the process of //​[[CL:​Glossary:​loading]]//​ the //​[[CL:​Glossary:​compiled file]]//, and not again. See **[[CL:​Special Operators:​load-time-value]]**.+  * an //​[[CL:​Glossary:​object]]//​ referred to in //​[[CL:​Glossary:​code]]//​ by a **[[CL:​Special Operators:​load-time-value]]** //​[[CL:​Glossary:​form]]//​. The //​[[CL:​Glossary:​value]]//​ of such a //​[[CL:​Glossary:​form]]//​ is some specific //​[[CL:​Glossary:​object]]//​ which can only be computed in the run-time //​[[CL:​Glossary:​environment]]//​. In the case of //​[[CL:​Glossary:​file]]//​ //​[[CL:​Glossary:​compilation]]//,​ the //​[[CL:​Glossary:​value]]//​ is computed once as part of the process of //​[[CL:​Glossary:​load|loading]]// the //​[[CL:​Glossary:​compile|compiled file]]//, and not again. See **[[CL:​Special Operators:​load-time-value]]**.
  
 ===loader=== ===loader===
 //n.// //n.//
-  * a facility that is part of Lisp and that //​[[CL:​Glossary:​loads]]//​ a //​[[CL:​Glossary:​file]]//​. See **[[CL:​Functions:​load]]**.+  * a facility that is part of Lisp and that //​[[CL:​Glossary:​load|loads]]// a //​[[CL:​Glossary:​file]]//​. See **[[CL:​Functions:​load]]**.
  
 ===local declaration=== ===local declaration===
Line 1684: Line 1690:
 ===local precedence order=== ===local precedence order===
 //n.// (of a //​[[CL:​Glossary:​class]]//​) //n.// (of a //​[[CL:​Glossary:​class]]//​)
-  * a //​[[CL:​Glossary:​list]]//​ consisting of the //​[[CL:​Glossary:​class]]//​ followed by its //​[[CL:​Glossary:​direct superclasses]]//​ in the order mentioned in the defining //​[[CL:​Glossary:​form]]//​ for the //​[[CL:​Glossary:​class]]//​.+  * a //​[[CL:​Glossary:​list]]//​ consisting of the //​[[CL:​Glossary:​class]]//​ followed by its //​[[CL:​Glossary:​direct superclass|direct superclasses]]//​ in the order mentioned in the defining //​[[CL:​Glossary:​form]]//​ for the //​[[CL:​Glossary:​class]]//​.
  
 ===local slot=== ===local slot===
Line 1696: Line 1702:
 ===logical host=== ===logical host===
 //n.// //n.//
-  * an //​[[CL:​Glossary:​object]]//​ of //​[[CL:​Glossary:​implementation-dependent]]//​ nature that is used as the representation of a "​host"​ in a //​[[CL:​Glossary:​logical pathname]]//,​ and that has an associated set of translation rules for converting //​[[CL:​Glossary:​logical pathnames]]//​ belonging to that host into //​[[CL:​Glossary:​physical pathnames]]//​. \Seesection\LogicalPathnames.+  * an //​[[CL:​Glossary:​object]]//​ of //​[[CL:​Glossary:​implementation-dependent]]//​ nature that is used as the representation of a "​host"​ in a //​[[CL:​Glossary:​logical pathname]]//,​ and that has an associated set of translation rules for converting //​[[CL:​Glossary:​logical pathname|logical pathnames]]//​ belonging to that host into //​[[CL:​Glossary:​physical pathname|physical pathnames]]//​. \Seesection\LogicalPathnames.
  
 ===logical host designator=== ===logical host designator===
Line 1728: Line 1734:
 ===macro character=== ===macro character===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​character]]//​ which, when encountered by the //​[[CL:​Glossary:​Lisp reader]]// in its main dispatch loop, introduces a //​[[CL:​Glossary:​reader macro|reader macro<​sub>​1</​sub>​]]//​. (//​[[CL:​Glossary:​Macro characters]]//​ have nothing to do with //​[[CL:​Glossary:​macros]]//​.)+  * a //​[[CL:​Glossary:​character]]//​ which, when encountered by the //​[[CL:​Glossary:​Lisp reader]]// in its main dispatch loop, introduces a //​[[CL:​Glossary:​reader macro|reader macro<​sub>​1</​sub>​]]//​. (//​[[CL:​Glossary:​|macro characterMacro ​characters]]//​ have nothing to do with //​[[CL:​Glossary:​macro|macros]]//​.)
  
 ===macro expansion=== ===macro expansion===
Line 1745: Line 1751:
 ===macro lambda list=== ===macro lambda list===
 //n.// //n.//
-  * an //​[[CL:​Glossary:​extended lambda list]]// used in //​[[CL:​Glossary:​form|forms]]//​ that //​[[CL:​Glossary:​establish]]//​ //​[[CL:​Glossary:​macro]]//​ definitions,​ such as **[[CL:​Macros:​defmacro]]** and **[[CL:Macros:​macrolet]]**. \Seesection\MacroLambdaLists.+  * an //​[[CL:​Glossary:​extended lambda list]]// used in //​[[CL:​Glossary:​form|forms]]//​ that //​[[CL:​Glossary:​establish]]//​ //​[[CL:​Glossary:​macro]]//​ definitions,​ such as **[[CL:​Macros:​defmacro]]** and **[[CL:Special Operators:​macrolet]]**. \Seesection\MacroLambdaLists.
  
 ===macro name=== ===macro name===
Line 1757: Line 1763:
 ===mapping=== ===mapping===
 //n.// //n.//
-  * 1. a type of iteration in which a //​[[CL:​Glossary:​function]]//​ is successively applied to //​[[CL:​Glossary:​object|objects]]//​ taken from corresponding entries in collections such as //​[[CL:​Glossary:​sequences]]//​ or //​[[CL:​Glossary:​hash tables]]//.+  * 1. a type of iteration in which a //​[[CL:​Glossary:​function]]//​ is successively applied to //​[[CL:​Glossary:​object|objects]]//​ taken from corresponding entries in collections such as //​[[CL:​Glossary:​sequence|sequences]]//​ or //​[[CL:​Glossary:​hash table|hash tables]]//.
   * 2. //Math.// a relation between two sets in which each element of the first set (the "​domain"​) is assigned one element of the second set (the "​range"​).   * 2. //Math.// a relation between two sets in which each element of the first set (the "​domain"​) is assigned one element of the second set (the "​range"​).
  
 ===metaclass=== ===metaclass===
 //n.// //n.//
-  * 1. a //​[[CL:​Glossary:​class]]//​ whose instances are //​[[CL:​Glossary:​classes]]//​.+  * 1. a //​[[CL:​Glossary:​class]]//​ whose instances are //​[[CL:​Glossary:​class|classes]]//​.
   * 2. (of an //​[[CL:​Glossary:​object]]//​) the //​[[CL:​Glossary:​class]]//​ of the //​[[CL:​Glossary:​class]]//​ of the //​[[CL:​Glossary:​object]]//​.   * 2. (of an //​[[CL:​Glossary:​object]]//​) the //​[[CL:​Glossary:​class]]//​ of the //​[[CL:​Glossary:​class]]//​ of the //​[[CL:​Glossary:​object]]//​.
  
Line 1771: Line 1777:
 ===method=== ===method===
 //n.// //n.//
-  * an //​[[CL:​Glossary:​object]]//​ that is part of a //​[[CL:​Glossary:​generic function]]//​ and which provides information about how that //​[[CL:​Glossary:​generic function]]//​ should behave when its //​[[CL:​Glossary:​argument|arguments]]//​ are //​[[CL:​Glossary:​object|objects]]//​ of certain //​[[CL:​Glossary:​classes]]//​ or with certain identities.+  * an //​[[CL:​Glossary:​object]]//​ that is part of a //​[[CL:​Glossary:​generic function]]//​ and which provides information about how that //​[[CL:​Glossary:​generic function]]//​ should behave when its //​[[CL:​Glossary:​argument|arguments]]//​ are //​[[CL:​Glossary:​object|objects]]//​ of certain //​[[CL:​Glossary:​class|classes]]// or with certain identities.
  
 ===method combination=== ===method combination===
 //n.// //n.//
   * 1. generally, the composition of a set of //​[[CL:​Glossary:​method|methods]]//​ to produce an //​[[CL:​Glossary:​effective method]]// for a //​[[CL:​Glossary:​generic function]]//​.   * 1. generally, the composition of a set of //​[[CL:​Glossary:​method|methods]]//​ to produce an //​[[CL:​Glossary:​effective method]]// for a //​[[CL:​Glossary:​generic function]]//​.
-  * 2. an object of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​method-combination]]**,​ which represents the details of how the //​[[CL:​Glossary:​method combination|method combination<​sub>​1</​sub>​]]//​ for one or more specific //​[[CL:​Glossary:​generic functions]]//​ is to be performed.+  * 2. an object of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​method-combination]]**,​ which represents the details of how the //​[[CL:​Glossary:​method combination|method combination<​sub>​1</​sub>​]]//​ for one or more specific //​[[CL:​Glossary:​generic function|generic functions]]//​ is to be performed.
  
 ===method-defining form=== ===method-defining form===
Line 1784: Line 1790:
 ===method-defining operator=== ===method-defining operator===
 //n.// //n.//
-  * an //​[[CL:​Glossary:​operator]]//​ corresponding to a //​[[CL:​Glossary:​method-defining]]// //​[[CL:​Glossary:​form]]//. \Seefigure\StdMethDefOps.+  * an //​[[CL:​Glossary:​operator]]//​ corresponding to a //​[[CL:​Glossary:​method-defining form]]//. \Seefigure\StdMethDefOps.
  
 ===minimal compilation=== ===minimal compilation===
Line 1818: Line 1824:
   * 3. //n.// (of an //​[[CL:​Glossary:​object]]//​ having a name component) the //​[[CL:​Glossary:​object]]//​ which is that component. "The string which is a symbol'​s name is returned by **[[CL:​Functions:​symbol-name]]**."​   * 3. //n.// (of an //​[[CL:​Glossary:​object]]//​ having a name component) the //​[[CL:​Glossary:​object]]//​ which is that component. "The string which is a symbol'​s name is returned by **[[CL:​Functions:​symbol-name]]**."​
   * 4. //n.// (of a //​[[CL:​Glossary:​pathname]]//​) a. the name component, returned by **[[CL:​Functions:​pathname-name]]**. b. the entire namestring, returned by **[[CL:​Functions:​namestring]]**.   * 4. //n.// (of a //​[[CL:​Glossary:​pathname]]//​) a. the name component, returned by **[[CL:​Functions:​pathname-name]]**. b. the entire namestring, returned by **[[CL:​Functions:​namestring]]**.
-  * 5. //n.// (of a //​[[CL:​Glossary:​character]]//​) a //​[[CL:​Glossary:​string]]//​ that names the //​[[CL:​Glossary:​character]]//​ and that has //​[[CL:​Glossary:​length]]//​ greater than one. (All //​[[CL:​Glossary:​non-graphic]]//​ //​[[CL:​Glossary:​character|characters]]//​ are required to have //​[[CL:​Glossary:​names]]//​ unless they have some //​[[CL:​Glossary:​implementation-defined]]//​ //​[[CL:​Glossary:​attribute]]//​ which is not //​[[CL:​Glossary:​null]]//​. Whether or not other //​[[CL:​Glossary:​character|characters]]//​ have //​[[CL:​Glossary:​names]]//​ is //​[[CL:​Glossary:​implementation-dependent]]//​.)+  * 5. //n.// (of a //​[[CL:​Glossary:​character]]//​) a //​[[CL:​Glossary:​string]]//​ that names the //​[[CL:​Glossary:​character]]//​ and that has //​[[CL:​Glossary:​length]]//​ greater than one. (All //​[[CL:​Glossary:​non-graphic]]//​ //​[[CL:​Glossary:​character|characters]]//​ are required to have //​[[CL:​Glossary:​name|names]]// unless they have some //​[[CL:​Glossary:​implementation-defined]]//​ //​[[CL:​Glossary:​attribute]]//​ which is not //​[[CL:​Glossary:​null]]//​. Whether or not other //​[[CL:​Glossary:​character|characters]]//​ have //​[[CL:​Glossary:​name|names]]// is //​[[CL:​Glossary:​implementation-dependent]]//​.)
  
 ===named constant=== ===named constant===
Line 1827: Line 1833:
 //n.// //n.//
   * 1. //​[[CL:​Glossary:​binding|bindings]]//​ whose denotations are restricted to a particular kind. "The bindings of names to tags is the tag namespace."​   * 1. //​[[CL:​Glossary:​binding|bindings]]//​ whose denotations are restricted to a particular kind. "The bindings of names to tags is the tag namespace."​
-  * 2. any //​[[CL:​Glossary:​mapping]]//​ whose domain is a set of //​[[CL:​Glossary:​names]]//​. "A package defines a namespace."​+  * 2. any //​[[CL:​Glossary:​mapping]]//​ whose domain is a set of //​[[CL:​Glossary:​name|names]]//. "A package defines a namespace."​
  
 ===namestring=== ===namestring===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​string]]//​ that represents a //​[[CL:​Glossary:​filename]]//​ using either the //​[[CL:​Glossary:​standardized]]//​ notation for naming //​[[CL:​Glossary:​logical pathnames]]//​ described in \secref\LogPathNamestrings,​ or some //​[[CL:​Glossary:​implementation-defined]]//​ notation for naming a //​[[CL:​Glossary:​physical pathname]]//​.+  * a //​[[CL:​Glossary:​string]]//​ that represents a //​[[CL:​Glossary:​filename]]//​ using either the //​[[CL:​Glossary:​standardized]]//​ notation for naming //​[[CL:​Glossary:​logical pathname|logical pathnames]]//​ described in \secref\LogPathNamestrings,​ or some //​[[CL:​Glossary:​implementation-defined]]//​ notation for naming a //​[[CL:​Glossary:​physical pathname]]//​.
 \issue{PATHNAME-HOST-PARSING:​RECOGNIZE-LOGICAL-HOST-NAMES} \issue{PATHNAME-HOST-PARSING:​RECOGNIZE-LOGICAL-HOST-NAMES}
  
Line 1840: Line 1846:
 ===next method=== ===next method===
 //n.// //n.//
-  * the next //​[[CL:​Glossary:​method]]//​ to be invoked with respect to a given //​[[CL:​Glossary:​method]]//​ for a particular set of arguments or argument //​[[CL:​Glossary:​classes]]//​. \Seesection\ApplyMethCombToSortedMethods.+  * the next //​[[CL:​Glossary:​method]]//​ to be invoked with respect to a given //​[[CL:​Glossary:​method]]//​ for a particular set of arguments or argument //​[[CL:​Glossary:​class|classes]]//​. \Seesection\ApplyMethCombToSortedMethods.
  
 ===nickname=== ===nickname===
 //n.// (of a //​[[CL:​Glossary:​package]]//​) //n.// (of a //​[[CL:​Glossary:​package]]//​)
-  * one of possibly several //​[[CL:​Glossary:​names]]//​ that can be used to refer to the //​[[CL:​Glossary:​package]]//​ but that is not the primary //​[[CL:​Glossary:​name]]//​ of the //​[[CL:​Glossary:​package]]//​.+  * one of possibly several //​[[CL:​Glossary:​name|names]]// that can be used to refer to the //​[[CL:​Glossary:​package]]//​ but that is not the primary //​[[CL:​Glossary:​name]]//​ of the //​[[CL:​Glossary:​package]]//​.
  
 ===nil=== ===nil===
Line 1860: Line 1866:
 ===non-correctable=== ===non-correctable===
 //adj.// (of an //​[[CL:​Glossary:​error]]//​) //adj.// (of an //​[[CL:​Glossary:​error]]//​)
-  * not intentionally //​[[CL:​Glossary:​correctable]]//​. (Because of the dynamic nature of //​[[CL:​Glossary:​restarts]]//,​ it is neither possible nor generally useful to completely prohibit an //​[[CL:​Glossary:​error]]//​ from being //​[[CL:​Glossary:​correctable]]//​. This term is used in order to express an intent that no special effort should be made by //​[[CL:​Glossary:​code]]//​ signaling an //​[[CL:​Glossary:​error]]//​ to make that //​[[CL:​Glossary:​error]]//​ //​[[CL:​Glossary:​correctable]]//;​ however, there is no actual requirement on //​[[CL:​Glossary:​conforming program|conforming programs]]//​ or //​[[CL:​Glossary:​conforming implementations]]//​ imposed by this term.)+  * not intentionally //​[[CL:​Glossary:​correctable]]//​. (Because of the dynamic nature of //​[[CL:​Glossary:​restart|restarts]]//,​ it is neither possible nor generally useful to completely prohibit an //​[[CL:​Glossary:​error]]//​ from being //​[[CL:​Glossary:​correctable]]//​. This term is used in order to express an intent that no special effort should be made by //​[[CL:​Glossary:​code]]//​ signaling an //​[[CL:​Glossary:​error]]//​ to make that //​[[CL:​Glossary:​error]]//​ //​[[CL:​Glossary:​correctable]]//;​ however, there is no actual requirement on //​[[CL:​Glossary:​conforming program|conforming programs]]//​ or //​[[CL:​Glossary:​conforming implementation|conforming implementations]]//​ imposed by this term.)
  
 ===non-empty=== ===non-empty===
Line 1904: Line 1910:
 ===normal return=== ===normal return===
 //n.// //n.//
-  * the natural transfer of control and //​[[CL:​Glossary:​value|values]]//​ which occurs after the complete //​[[CL:​Glossary:​execution]]//​ of a //​[[CL:​Glossary:​form]]//​.+  * the natural transfer of control and //​[[CL:​Glossary:​value|values]]//​ which occurs after the complete //​[[CL:​Glossary:​execute|execution]]//​ of a //​[[CL:​Glossary:​form]]//​.
  
 ===normalized=== ===normalized===
Line 1941: Line 1947:
 //adj.//, //v.t.// (a //​[[CL:​Glossary:​file]]//​) //adj.//, //v.t.// (a //​[[CL:​Glossary:​file]]//​)
   * 1. //v.t.// to create and return a //​[[CL:​Glossary:​stream]]//​ to the //​[[CL:​Glossary:​file]]//​.   * 1. //v.t.// to create and return a //​[[CL:​Glossary:​stream]]//​ to the //​[[CL:​Glossary:​file]]//​.
-  * 2. //adj.// (of a //​[[CL:​Glossary:​stream]]//​) having been //​[[CL:​Glossary:​opened|opened<​sub>​1</​sub>​]]//,​ but not yet //​[[CL:​Glossary:​closed]]//​.+  * 2. //adj.// (of a //​[[CL:​Glossary:​stream]]//​) having been //​[[CL:​Glossary:​open|opened<​sub>​1</​sub>​]]//,​ but not yet //​[[CL:​Glossary:​closed]]//​.
  
 ===operator=== ===operator===
Line 1952: Line 1958:
 ===optimize quality=== ===optimize quality===
 //n.// //n.//
-  * one of several aspects of a program that might be optimizable by certain compilers. Since optimizing one such quality might conflict with optimizing another, relative priorities for qualities can be established in an **[[CL:​Declarations:​optimize]]** //​[[CL:​Glossary:​declaration]]//​. The //​[[CL:​Glossary:​standardized]]//​ //​[[CL:​Glossary:​optimize qualities]]//​ are **''​compilation-speed''​** (speed of the compilation process), **''​debug''​** (ease of debugging), **''​safety''​** (run-time error checking), **''​space''​** (both code size and run-time space), and **''​speed''​** (of the object code). //​[[CL:​Glossary:​implementation|implementations]]//​ may define additional //​[[CL:​Glossary:​optimize qualities]]//​.+  * one of several aspects of a program that might be optimizable by certain compilers. Since optimizing one such quality might conflict with optimizing another, relative priorities for qualities can be established in an **[[CL:​Declarations:​optimize]]** //​[[CL:​Glossary:​declaration]]//​. The //​[[CL:​Glossary:​standardized]]//​ //​[[CL:​Glossary:​optimize quality|optimize qualities]]//​ are **''​compilation-speed''​** (speed of the compilation process), **''​debug''​** (ease of debugging), **''​safety''​** (run-time error checking), **''​space''​** (both code size and run-time space), and **''​speed''​** (of the object code). //​[[CL:​Glossary:​implementation|implementations]]//​ may define additional //​[[CL:​Glossary:​optimize quality|optimize qualities]]//​.
 \issue{OPTIMIZE-DEBUG-INFO:​NEW-QUALITY} \issue{OPTIMIZE-DEBUG-INFO:​NEW-QUALITY}
  
Line 1983: Line 1989:
 ===package cell=== ===package cell===
 //n.//, //Trad.// (of a //​[[CL:​Glossary:​symbol]]//​) //n.//, //Trad.// (of a //​[[CL:​Glossary:​symbol]]//​)
-  * the //​[[CL:​Glossary:​place]]//​ in a //​[[CL:​Glossary:​symbol]]//​ that holds one of possibly several //​[[CL:​Glossary:​packages]]//​ in which the //​[[CL:​Glossary:​symbol]]//​ is //​[[CL:​Glossary:​interned]]//,​ called the //​[[CL:​Glossary:​home package]]//,​ or which holds **[[CL:​Constant Variables:​nil]]** if no such //​[[CL:​Glossary:​package]]//​ exists or is known. See **[[CL:​Functions:​symbol-package]]**.+  * the //​[[CL:​Glossary:​place]]//​ in a //​[[CL:​Glossary:​symbol]]//​ that holds one of possibly several //​[[CL:​Glossary:​package|packages]]//​ in which the //​[[CL:​Glossary:​symbol]]//​ is //​[[CL:​Glossary:​interned]]//,​ called the //​[[CL:​Glossary:​home package]]//,​ or which holds **[[CL:​Constant Variables:​nil]]** if no such //​[[CL:​Glossary:​package]]//​ exists or is known. See **[[CL:​Functions:​symbol-package]]**.
  
 ===package designator=== ===package designator===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​designator]]//​ for a //​[[CL:​Glossary:​package]]//;​ that is, an //​[[CL:​Glossary:​object]]//​ that denotes a //​[[CL:​Glossary:​package]]//​ and that is one of: a //​[[CL:​Glossary:​\packagenamedesignator]]// (denoting the //​[[CL:​Glossary:​package]]//​ that has the //​[[CL:​Glossary:​string]]//​ that it designates as its //​[[CL:​Glossary:​name]]//​ or as one of its //​[[CL:​Glossary:​nicknames]]//​),​ or a //​[[CL:​Glossary:​package]]//​ (denoting itself).+  * a //​[[CL:​Glossary:​designator]]//​ for a //​[[CL:​Glossary:​package]]//;​ that is, an //​[[CL:​Glossary:​object]]//​ that denotes a //​[[CL:​Glossary:​package]]//​ and that is one of: a //​[[CL:​Glossary:​string designator]]// (denoting the //​[[CL:​Glossary:​package]]//​ that has the //​[[CL:​Glossary:​string]]//​ that it designates as its //​[[CL:​Glossary:​name]]//​ or as one of its //​[[CL:​Glossary:​nickname|nicknames]]//​),​ or a //​[[CL:​Glossary:​package]]//​ (denoting itself).
  
 ===package marker=== ===package marker===
Line 1995: Line 2001:
 ===package prefix=== ===package prefix===
 //n.// //n.//
-  * a notation preceding the //​[[CL:​Glossary:​name]]//​ of a //​[[CL:​Glossary:​symbol]]//​ in text that is processed by the //​[[CL:​Glossary:​Lisp reader]]//, which uses a //​[[CL:​Glossary:​package]]//​ //​[[CL:​Glossary:​name]]//​ followed by one or more //​[[CL:​Glossary:​package markers]]//,​ and which indicates that the symbol is looked up in the indicated //​[[CL:​Glossary:​package]]//​.+  * a notation preceding the //​[[CL:​Glossary:​name]]//​ of a //​[[CL:​Glossary:​symbol]]//​ in text that is processed by the //​[[CL:​Glossary:​Lisp reader]]//, which uses a //​[[CL:​Glossary:​package]]//​ //​[[CL:​Glossary:​name]]//​ followed by one or more //​[[CL:​Glossary:​package marker|package markers]]//,​ and which indicates that the symbol is looked up in the indicated //​[[CL:​Glossary:​package]]//​.
  
 ===package registry=== ===package registry===
 //n.// //n.//
-  * a mapping of //​[[CL:​Glossary:​names]]//​ to //​[[CL:​Glossary:​package]]//​ //​[[CL:​Glossary:​object|objects]]//​. It is possible for there to be a //​[[CL:​Glossary:​package]]//​ //​[[CL:​Glossary:​object]]//​ which is not in this mapping; such a //​[[CL:​Glossary:​package]]//​ is called an //​[[CL:​Glossary:​unregistered package]]//​. //​[[CL:​Glossary:​operator|operators]]//​ such as **[[CL:​Functions:​find-package]]** consult this mapping in order to find a //​[[CL:​Glossary:​package]]//​ from its //​[[CL:​Glossary:​name]]//​. //​[[CL:​Glossary:​operator|operators]]//​ such as **[[CL:​Macros:​do-all-symbols]]**,​ **[[CL:​Functions:​find-all-symbols]]**,​ and **[[CL:​Functions:​list-all-packages]]** operate only on //​[[CL:​Glossary:​packages]]//​ that exist in the //​[[CL:​Glossary:​package registry]]//​.+  * a mapping of //​[[CL:​Glossary:​name|names]]// to //​[[CL:​Glossary:​package]]//​ //​[[CL:​Glossary:​object|objects]]//​. It is possible for there to be a //​[[CL:​Glossary:​package]]//​ //​[[CL:​Glossary:​object]]//​ which is not in this mapping; such a //​[[CL:​Glossary:​package]]//​ is called an //​[[CL:​Glossary:​unregistered package]]//​. //​[[CL:​Glossary:​operator|operators]]//​ such as **[[CL:​Functions:​find-package]]** consult this mapping in order to find a //​[[CL:​Glossary:​package]]//​ from its //​[[CL:​Glossary:​name]]//​. //​[[CL:​Glossary:​operator|operators]]//​ such as **[[CL:​Macros:​do-all-symbols]]**,​ **[[CL:​Functions:​find-all-symbols]]**,​ and **[[CL:​Functions:​list-all-packages]]** operate only on //​[[CL:​Glossary:​package|packages]]//​ that exist in the //​[[CL:​Glossary:​package registry]]//​.
  
 ===pairwise=== ===pairwise===
Line 2006: Line 2012:
  
 ===parallel=== ===parallel===
-//adj.//, //Trad.// (of //​[[CL:​Glossary:​binding]]//​ or //​[[CL:​Glossary:​assignment]]//​) +//adj.//, //Trad.// (of //​[[CL:​Glossary:​binding]]//​ or //​[[CL:​Glossary:​assign|assignment]]//​) 
-  * done in the style of **[[CL:​Macros:​psetq]]**,​ **[[CL:Macros:let]]**, or **[[CL:​Macros:​do]]**;​ that is, first evaluating all of the //​[[CL:​Glossary:​form|forms]]//​ that produce //​[[CL:​Glossary:​value|values]]//,​ and only then //​[[CL:​Glossary:​assigning]]//​ or //​[[CL:​Glossary:​binding]]//​ the //​[[CL:​Glossary:​variable|variables]]//​ (or //​[[CL:​Glossary:​places]]//​). Note that this does not imply traditional computational "​parallelism"​ since the //​[[CL:​Glossary:​form|forms]]//​ that produce //​[[CL:​Glossary:​value|values]]//​ are evaluated //​[[CL:​Glossary:​sequentially]]//​. See //​[[CL:​Glossary:​sequential]]//​.+  * done in the style of **[[CL:​Macros:​psetq]]**,​ **[[CL:Special Operators:let]]**, or **[[CL:​Macros:​do]]**;​ that is, first evaluating all of the //​[[CL:​Glossary:​form|forms]]//​ that produce //​[[CL:​Glossary:​value|values]]//,​ and only then //​[[CL:​Glossary:​|assigning]]//​ or //​[[CL:​Glossary:​binding]]//​ the //​[[CL:​Glossary:​variable|variables]]//​ (or //​[[CL:​Glossary:​place|places]]//​). Note that this does not imply traditional computational "​parallelism"​ since the //​[[CL:​Glossary:​form|forms]]//​ that produce //​[[CL:​Glossary:​value|values]]//​ are evaluated //​[[CL:​Glossary:​sequentially]]//​. See //​[[CL:​Glossary:​sequential]]//​.
  
 ===parameter=== ===parameter===
Line 2031: Line 2037:
 ===pathname designator=== ===pathname designator===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​designator]]//​ for a //​[[CL:​Glossary:​pathname]]//;​ that is, an //​[[CL:​Glossary:​object]]//​ that denotes a //​[[CL:​Glossary:​pathname]]//​ and that is one of: a //​[[CL:​Glossary:​pathname]]//​ //​[[CL:​Glossary:​namestring]]//​ (denoting the corresponding //​[[CL:​Glossary:​pathname]]//​),​ a //​[[CL:​Glossary:​stream associated with a file]]// (denoting the //​[[CL:​Glossary:​pathname]]//​ used to open the //​[[CL:​Glossary:​file]]//;​ this may be, but is not required to be, the actual name of the //​[[CL:​Glossary:​file]]//​),​ or a //​[[CL:​Glossary:​pathname]]//​ (denoting itself). \Seesection\OpenAndClosedStreams.+  * a //​[[CL:​Glossary:​designator]]//​ for a //​[[CL:​Glossary:​pathname]]//;​ that is, an //​[[CL:​Glossary:​object]]//​ that denotes a //​[[CL:​Glossary:​pathname]]//​ and that is one of: a //​[[CL:​Glossary:​pathname]]//​ //​[[CL:​Glossary:​name|namestring]]//​ (denoting the corresponding //​[[CL:​Glossary:​pathname]]//​),​ a //​[[CL:​Glossary:​stream associated with a file]]// (denoting the //​[[CL:​Glossary:​pathname]]//​ used to open the //​[[CL:​Glossary:​file]]//;​ this may be, but is not required to be, the actual name of the //​[[CL:​Glossary:​file]]//​),​ or a //​[[CL:​Glossary:​pathname]]//​ (denoting itself). \Seesection\OpenAndClosedStreams.
 \issue{PATHNAME-LOGICAL:​ADD} \issue{PATHNAME-LOGICAL:​ADD}
 \issue{PATHNAME-HOST-PARSING:​RECOGNIZE-LOGICAL-HOST-NAMES} \issue{PATHNAME-HOST-PARSING:​RECOGNIZE-LOGICAL-HOST-NAMES}
Line 2049: Line 2055:
 ===portable=== ===portable===
 //adj.// (of //​[[CL:​Glossary:​code]]//​) //adj.// (of //​[[CL:​Glossary:​code]]//​)
-  * required to produce equivalent results and observable side effects in all //​[[CL:​Glossary:​conforming implementations]]//​.+  * required to produce equivalent results and observable side effects in all //​[[CL:​Glossary:​conforming implementation|conforming implementations]]//​.
  
 ===potential copy=== ===potential copy===
Line 2066: Line 2072:
 //n.// //n.//
   * a //​[[CL:​Glossary:​function]]//​ that returns a //​[[CL:​Glossary:​generalized boolean]]// as its first value.   * a //​[[CL:​Glossary:​function]]//​ that returns a //​[[CL:​Glossary:​generalized boolean]]// as its first value.
 +**Editor Note:** //This definition is imprecise, as every value in Common Lisp is a generalized boolean. The intent of a predicate is to return a truth value while not having any side effects. To quote Common Lisp the Language 2: "A predicate is a //​[[CL:​Glossary:​function]]//​ that tests for some //​[[CL:​Glossary:​condition]]//​ involving its //​[[CL:​Glossary:​argument|arguments]]//​ and returns **[[CL:​Constant Variables:​nil]]** if the //​[[CL:​Glossary:​condition]]//​ is false, or some //​[[CL:​Glossary:​non-nil]]//​ //​[[CL:​Glossary:​value]]//​ if the //​[[CL:​Glossary:​condition]]//​ is true."//​
  
 ===present=== ===present===
 //n.// //n.//
-  * 1. (of a //​[[CL:​Glossary:​feature]]//​ in a //​[[CL:​Glossary:​Lisp image]]//) a state of being that is in effect if and only if the //​[[CL:​Glossary:​symbol]]//​ naming the //​[[CL:​Glossary:​feature]]//​ is an //​[[CL:​Glossary:​element]]//​ of the //​[[CL:​Glossary:​features list]]//.+  * 1. (of a //​[[CL:​Glossary:​feature]]//​ in a //​[[CL:​Glossary:​Lisp image]]//) a state of being that is in effect if and only if the //​[[CL:​Glossary:​symbol]]//​ naming the //​[[CL:​Glossary:​feature]]//​ is an //​[[CL:​Glossary:​element]]//​ of the //​[[CL:​Glossary:​feature|features list]]//.
   * 2. (of a //​[[CL:​Glossary:​symbol]]//​ in a //​[[CL:​Glossary:​package]]//​) being accessible in that //​[[CL:​Glossary:​package]]//​ directly, rather than being inherited from another //​[[CL:​Glossary:​package]]//​.   * 2. (of a //​[[CL:​Glossary:​symbol]]//​ in a //​[[CL:​Glossary:​package]]//​) being accessible in that //​[[CL:​Glossary:​package]]//​ directly, rather than being inherited from another //​[[CL:​Glossary:​package]]//​.
  
Line 2082: Line 2089:
 ===pretty printing stream=== ===pretty printing stream===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​stream]]//​ that does pretty printing. Such streams are created by the //​[[CL:​Glossary:​function]]// **[[CL:Functions:​pprint-logical-block]]** as a link between the output stream and the logical block.+  * a //​[[CL:​Glossary:​stream]]//​ that does pretty printing. Such streams are created by the //​[[CL:​Glossary:​macro]]// **[[CL:Macros:​pprint-logical-block]]** as a link between the output stream and the logical block.
  
 ===primary method=== ===primary method===
 //n.// //n.//
-  * a member of one of two sets of //​[[CL:​Glossary:​method|methods]]//​ (the set of //​[[CL:​Glossary:​auxiliary methods]]// is the other) that form an exhaustive partition of the set of //​[[CL:​Glossary:​method|methods]]//​ on the //​[[CL:​Glossary:​method]]//'​s //​[[CL:​Glossary:​generic function]]//​. How these sets are determined is dependent on the //​[[CL:​Glossary:​method combination]]//​ type; \seesection\IntroToMethods.+  * a member of one of two sets of //​[[CL:​Glossary:​method|methods]]//​ (the set of //​[[CL:​Glossary:​auxiliary method|auxiliary methods]]// is the other) that form an exhaustive partition of the set of //​[[CL:​Glossary:​method|methods]]//​ on the //​[[CL:​Glossary:​method]]//'​s //​[[CL:​Glossary:​generic function]]//​. How these sets are determined is dependent on the //​[[CL:​Glossary:​method combination]]//​ type; \seesection\IntroToMethods.
  
 ===primary value=== ===primary value===
Line 2106: Line 2113:
 ===printer escaping=== ===printer escaping===
 //n.// //n.//
-  * the combined state of the //​[[CL:​Glossary:​printer control variables]]//​ **[[CL:​Variables:​star-print-escape-star|*print-escape*]]** and **[[CL:​Variables:​star-print-readably-star|*print-readably*]]**. If the value of either **[[CL:​Variables:​star-print-readably-star|*print-readably*]]** or **[[CL:​Variables:​star-print-escape-star|*print-escape*]]** is //​[[CL:​Glossary:​true]]//,​ then printer escaping is "​enabled";​ otherwise (if the values of both **[[CL:​Variables:​star-print-readably-star|*print-readably*]]** and **[[CL:​Variables:​star-print-escape-star|*print-escape*]]** are //​[[CL:​Glossary:​false]]//​),​ then //​[[CL:​Glossary:​printer escaping]]//​ is "​disabled"​.+  * the combined state of the //​[[CL:​Glossary:​printer control variable|printer control variables]]//​ **[[CL:​Variables:​star-print-escape-star|*print-escape*]]** and **[[CL:​Variables:​star-print-readably-star|*print-readably*]]**. If the value of either **[[CL:​Variables:​star-print-readably-star|*print-readably*]]** or **[[CL:​Variables:​star-print-escape-star|*print-escape*]]** is //​[[CL:​Glossary:​true]]//,​ then printer escaping is "​enabled";​ otherwise (if the values of both **[[CL:​Variables:​star-print-readably-star|*print-readably*]]** and **[[CL:​Variables:​star-print-escape-star|*print-escape*]]** are //​[[CL:​Glossary:​false]]//​),​ then //​[[CL:​Glossary:​printer escaping]]//​ is "​disabled"​.
 \issue{PRINT-READABLY-BEHAVIOR:​CLARIFY} \issue{PRINT-READABLY-BEHAVIOR:​CLARIFY}
  
Line 2115: Line 2122:
 ===process=== ===process===
 //v.t.// (a //​[[CL:​Glossary:​form]]//​ by the //​[[CL:​Glossary:​compiler]]//​) //v.t.// (a //​[[CL:​Glossary:​form]]//​ by the //​[[CL:​Glossary:​compiler]]//​)
-  * to perform //​[[CL:​Glossary:​minimal compilation]]//,​ determining the time of evaluation for a //​[[CL:​Glossary:​form]]//,​ and possibly //​[[CL:​Glossary:​evaluating]]//​ that //​[[CL:​Glossary:​form]]//​ (if required).+  * to perform //​[[CL:​Glossary:​minimal compilation]]//,​ determining the time of evaluation for a //​[[CL:​Glossary:​form]]//,​ and possibly //​[[CL:​Glossary:​evaluate|evaluating]]//​ that //​[[CL:​Glossary:​form]]//​ (if required).
  
 ===processor=== ===processor===
Line 2151: Line 2158:
 ===proper name=== ===proper name===
 //n.// (of a //​[[CL:​Glossary:​class]]//​) //n.// (of a //​[[CL:​Glossary:​class]]//​)
-  * a //​[[CL:​Glossary:​symbol]]//​ that //​[[CL:​Glossary:​names]]//​ the //​[[CL:​Glossary:​class]]//​ whose //​[[CL:​Glossary:​name]]//​ is that //​[[CL:​Glossary:​symbol]]//​. See //​[[CL:​Glossary:​function|functions]]//​ **[[CL:​Functions:​class-name]]** and **[[CL:​Functions:​find-class]]**.+  * a //​[[CL:​Glossary:​symbol]]//​ that //​[[CL:​Glossary:​name|names]]// the //​[[CL:​Glossary:​class]]//​ whose //​[[CL:​Glossary:​name]]//​ is that //​[[CL:​Glossary:​symbol]]//​. See //​[[CL:​Glossary:​function|functions]]//​ **[[CL:​Functions:​class-name]]** and **[[CL:​Functions:​find-class]]**.
  
 ===proper sequence=== ===proper sequence===
Line 2172: Line 2179:
 ===property list=== ===property list===
 //n.// //n.//
-  * 1. a //​[[CL:​Glossary:​list]]//​ containing an even number of //​[[CL:​Glossary:​element|elements]]//​ that are alternating //​[[CL:​Glossary:​names]]//​ (sometimes called //​[[CL:​Glossary:​indicators]]//​ or //​[[CL:​Glossary:​key|keys]]//​) and //​[[CL:​Glossary:​value|values]]//​ (sometimes called //​[[CL:​Glossary:​properties]]//​). When there is more than one //​[[CL:​Glossary:​name]]//​ and //​[[CL:​Glossary:​value]]//​ pair with the //​[[CL:​Glossary:​identical]]//​ //​[[CL:​Glossary:​name]]//​ in a //​[[CL:​Glossary:​property list]]//, the first such pair determines the //​[[CL:​Glossary:​property]]//​.+  * 1. a //​[[CL:​Glossary:​list]]//​ containing an even number of //​[[CL:​Glossary:​element|elements]]//​ that are alternating //​[[CL:​Glossary:​name|names]]// (sometimes called //​[[CL:​Glossary:​indicator|indicators]]//​ or //​[[CL:​Glossary:​key|keys]]//​) and //​[[CL:​Glossary:​value|values]]//​ (sometimes called //​[[CL:​Glossary:​property|properties]]//​). When there is more than one //​[[CL:​Glossary:​name]]//​ and //​[[CL:​Glossary:​value]]//​ pair with the //​[[CL:​Glossary:​identical]]//​ //​[[CL:​Glossary:​name]]//​ in a //​[[CL:​Glossary:​property list]]//, the first such pair determines the //​[[CL:​Glossary:​property]]//​.
   * 2. (of a //​[[CL:​Glossary:​symbol]]//​) the component of the //​[[CL:​Glossary:​symbol]]//​ containing a //​[[CL:​Glossary:​property list]]//.   * 2. (of a //​[[CL:​Glossary:​symbol]]//​) the component of the //​[[CL:​Glossary:​symbol]]//​ containing a //​[[CL:​Glossary:​property list]]//.
 \issue{PLIST-DUPLICATES:​ALLOW} \issue{PLIST-DUPLICATES:​ALLOW}
Line 2180: Line 2187:
 \issue{PLIST-DUPLICATES:​ALLOW} \issue{PLIST-DUPLICATES:​ALLOW}
  
-===purports ​to conform===+===purport ​to conform===
 //v.// //v.//
-  * makes a good-faith claim of conformance. This term expresses intention to conform, regardless of whether the goal of that intention is realized in practice. For example, language implementations have been known to have bugs, and while an //​[[CL:​Glossary:​implementation]]//​ of this specification with bugs might not be a //​[[CL:​Glossary:​conforming implementation]]//,​ it can still //​[[CL:​Glossary:​purport to conform]]//​. This is an important distinction in certain specific cases; e.g. See **[[CL:​Variables:​star-features-star|*features*]]**.+  * make a good-faith claim of conformance. This term expresses intention to conform, regardless of whether the goal of that intention is realized in practice. For example, language implementations have been known to have bugs, and while an //​[[CL:​Glossary:​implementation]]//​ of this specification with bugs might not be a //​[[CL:​Glossary:​conforming implementation]]//,​ it can still //​[[CL:​Glossary:​purport to conform]]//​. This is an important distinction in certain specific cases; e.g. See **[[CL:​Variables:​star-features-star|*features*]]**.
  
 =====Q===== =====Q=====
Line 2188: Line 2195:
 ===qualified method=== ===qualified method===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​method]]//​ that has one or more //​[[CL:​Glossary:​qualifiers]]//​.+  * a //​[[CL:​Glossary:​method]]//​ that has one or more //​[[CL:​Glossary:​qualifier|qualifiers]]//​.
  
 ===qualifier=== ===qualifier===
 //n.// (of a //​[[CL:​Glossary:​method]]//​ for a //​[[CL:​Glossary:​generic function]]//​) //n.// (of a //​[[CL:​Glossary:​method]]//​ for a //​[[CL:​Glossary:​generic function]]//​)
-  * one of possibly several //​[[CL:​Glossary:​object|objects]]//​ used to annotate the //​[[CL:​Glossary:​method]]//​ in a way that identifies its role in the //​[[CL:​Glossary:​method combination]]//​. The //​[[CL:​Glossary:​method combination]]//​ //​[[CL:​Glossary:​type]]//​ determines how many //​[[CL:​Glossary:​qualifiers]]//​ are permitted for each //​[[CL:​Glossary:​method]]//,​ which //​[[CL:​Glossary:​qualifiers]]//​ are permitted, and the semantics of those //​[[CL:​Glossary:​qualifiers]]//​.+  * one of possibly several //​[[CL:​Glossary:​object|objects]]//​ used to annotate the //​[[CL:​Glossary:​method]]//​ in a way that identifies its role in the //​[[CL:​Glossary:​method combination]]//​. The //​[[CL:​Glossary:​method combination]]//​ //​[[CL:​Glossary:​type]]//​ determines how many //​[[CL:​Glossary:​qualifier|qualifiers]]//​ are permitted for each //​[[CL:​Glossary:​method]]//,​ which //​[[CL:​Glossary:​qualifier|qualifiers]]//​ are permitted, and the semantics of those //​[[CL:​Glossary:​qualifier|qualifiers]]//​.
  
 ===query I/O=== ===query I/O===
Line 2206: Line 2213:
 ===radix=== ===radix===
 //n.// //n.//
-  * an //​[[CL:​Glossary:​integer]]//​ between 2 and 36, inclusive, which can be used to designate a base with respect to which certain kinds of numeric input or output are performed. (There are ''​n''​ valid digit characters for any given //​[[CL:​Glossary:​radix]]//​ ''​n'',​ and those digits are the first ''​n''​ digits in the sequence ''​0,​ 1, ..., 9, A, B, ..., Z'',​ which have the weights ''​0,​ 1, ..., 9, 10, 11, ..., 35'',​ respectively. Case is not significant in parsing numbers of radix greater than ''​10'',​ so "​9b8a"​ and "​9B8A"​ denote the same //​[[CL:​Glossary:​radix]]//​ ''​16''​ number.)+  * an //​[[CL:​Glossary:​integer]]//​ between 2 and 36, inclusive, which can be used to designate a base with respect to which certain kinds of numeric input or output are performed. (There are ''​n''​ valid digit characters for any given //​[[CL:​Glossary:​radix]]//​ ''​n'',​ and those digits are the first ''​n''​ digits in the sequence ''​0,​ 1, , 9, A, B, , Z'',​ which have the weights ''​0,​ 1, , 9, 10, 11, , 35'',​ respectively. Case is not significant in parsing numbers of radix greater than ''​10'',​ so "​9b8a"​ and "​9B8A"​ denote the same //​[[CL:​Glossary:​radix]]//​ ''​16''​ number.)
  
 ===random state=== ===random state===
Line 2231: Line 2238:
 //v.t.// //v.t.//
   * 1. (a //​[[CL:​Glossary:​binding]]//​ or //​[[CL:​Glossary:​slot]]//​ or component) to obtain the //​[[CL:​Glossary:​value]]//​ of the //​[[CL:​Glossary:​binding]]//​ or //​[[CL:​Glossary:​slot]]//​.   * 1. (a //​[[CL:​Glossary:​binding]]//​ or //​[[CL:​Glossary:​slot]]//​ or component) to obtain the //​[[CL:​Glossary:​value]]//​ of the //​[[CL:​Glossary:​binding]]//​ or //​[[CL:​Glossary:​slot]]//​.
-  * 2. (an //​[[CL:​Glossary:​object]]//​ from a //​[[CL:​Glossary:​stream]]//​) to parse an //​[[CL:​Glossary:​object]]//​ from its representation on the //​[[CL:​Glossary:​stream]]//​.+  * 2. (an //​[[CL:​Glossary:​object]]//​ from a //​[[CL:​Glossary:​stream]]//​) to parse an //​[[CL:​Glossary:​object]]//​ from its representation on the //​[[CL:​Glossary:​stream]]//​. \Seesection\ReaderAlgorithm.
 \issue{IGNORE-USE-TERMINOLOGY:​VALUE-ONLY} \issue{IGNORE-USE-TERMINOLOGY:​VALUE-ONLY}
  
 ===readably=== ===readably===
 //adv.// (of a manner of printing an //​[[CL:​Glossary:​object]]//​ ''​O<​sub>​1</​sub>''​) //adv.// (of a manner of printing an //​[[CL:​Glossary:​object]]//​ ''​O<​sub>​1</​sub>''​)
-  * in such a way as to permit the //​[[CL:​Glossary:​Lisp ​Reader]]// to later //​[[CL:​Glossary:​parse]]// the printed output into an //​[[CL:​Glossary:​object]]//​ ''​O<​sub>​2</​sub>''​ that is //​[[CL:​Glossary:​similar]]//​ to ''​O<​sub>​1</​sub>''​.+  * in such a way as to permit the //​[[CL:​Glossary:​Lisp ​reader]]// to later //​[[CL:​Glossary:​read|read<​sub>​2</​sub>​]]// the printed output into an //​[[CL:​Glossary:​object]]//​ ''​O<​sub>​2</​sub>''​ that is //​[[CL:​Glossary:​similar]]//​ to ''​O<​sub>​1</​sub>''​.
  
 ===reader=== ===reader===
 //n.// //n.//
-  * 1. a //​[[CL:​Glossary:​function]]//​ that //​[[CL:​Glossary:​reads|reads<​sub>​1</​sub>​]]//​ a //​[[CL:​Glossary:​variable]]//​ or //​[[CL:​Glossary:​slot]]//​.+  * 1. a //​[[CL:​Glossary:​function]]//​ that //​[[CL:​Glossary:​read|reads<​sub>​1</​sub>​]]//​ a //​[[CL:​Glossary:​variable]]//​ or //​[[CL:​Glossary:​slot]]//​.
   * 2. the //​[[CL:​Glossary:​Lisp reader]]//.   * 2. the //​[[CL:​Glossary:​Lisp reader]]//.
  
Line 2267: Line 2274:
 //n.// (of a //​[[CL:​Glossary:​type]]//​) //n.// (of a //​[[CL:​Glossary:​type]]//​)
   * a //​[[CL:​Glossary:​subtype]]//​ of the //​[[CL:​Glossary:​type]]//​ which can be reliably detected to be such by the //​[[CL:​Glossary:​implementation]]//​. See **[[CL:​Functions:​subtypep]]**.   * a //​[[CL:​Glossary:​subtype]]//​ of the //​[[CL:​Glossary:​type]]//​ which can be reliably detected to be such by the //​[[CL:​Glossary:​implementation]]//​. See **[[CL:​Functions:​subtypep]]**.
 +
 +===recursion===
 +//n.// //Math.//
 +  * See //​[[CL:​Glossary:​recursion]]//​.
  
 ===reference=== ===reference===
Line 2275: Line 2286:
 ===registered package=== ===registered package===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​package]]//​ //​[[CL:​Glossary:​object]]//​ that is installed in the //​[[CL:​Glossary:​package registry]]//​. (Every //​[[CL:​Glossary:​registered package]]// has a //​[[CL:​Glossary:​name]]//​ that is a //​[[CL:​Glossary:​string]]//,​ as well as zero or more //​[[CL:​Glossary:​string]]//​ nicknames. All //​[[CL:​Glossary:​packages]]//​ that are initially specified by Common Lisp or created by **[[CL:​Functions:​make-package]]** or **[[CL:​Macros:​defpackage]]** are //​[[CL:​Glossary:​registered packages]]//​. //​[[CL:​Glossary:​Registered packages]]//​ can be turned into //​[[CL:​Glossary:​unregistered packages]]//​ by **[[CL:​Functions:​delete-package]]**.)+  * a //​[[CL:​Glossary:​package]]//​ //​[[CL:​Glossary:​object]]//​ that is installed in the //​[[CL:​Glossary:​package registry]]//​. (Every //​[[CL:​Glossary:​registered package]]// has a //​[[CL:​Glossary:​name]]//​ that is a //​[[CL:​Glossary:​string]]//,​ as well as zero or more //​[[CL:​Glossary:​string]]//​ nicknames. All //​[[CL:​Glossary:​package|packages]]//​ that are initially specified by Common Lisp or created by **[[CL:​Functions:​make-package]]** or **[[CL:​Macros:​defpackage]]** are //​[[CL:​Glossary:​registered package|registered packages]]//​. //​[[CL:​Glossary:​registered package|Registered packages]]//​ can be turned into //​[[CL:​Glossary:​unregistered package|unregistered packages]]//​ by **[[CL:​Functions:​delete-package]]**.)
  
 ===relative=== ===relative===
 //adj.// //adj.//
-  * 1. (of a //​[[CL:​Glossary:​time]]//​) representing an offset from an //​[[CL:​Glossary:​absolute]]//​ //​[[CL:​Glossary:​time]]//​ in the units appropriate to that time. For example, a //​[[CL:​Glossary:​relative]]//​ //​[[CL:​Glossary:​internal time]]// is the difference between two //​[[CL:​Glossary:​absolute]]//​ //​[[CL:​Glossary:​internal times]]//, and is measured in //​[[CL:​Glossary:​internal time units]]//​. +  * 1. (of a //​[[CL:​Glossary:​time]]//​) representing an offset from an //​[[CL:​Glossary:​absolute]]//​ //​[[CL:​Glossary:​time]]//​ in the units appropriate to that time. For example, a //​[[CL:​Glossary:​relative]]//​ //​[[CL:​Glossary:​internal time]]// is the difference between two //​[[CL:​Glossary:​absolute]]//​ //​[[CL:​Glossary:​internal time|internal times]]//, and is measured in //​[[CL:​Glossary:​internal time unit|internal time units]]//​. 
-  * 2. (of a //​[[CL:​Glossary:​pathname]]//​) representing a position in a directory hierarchy by motion from a position other than the root, which might therefore vary. "The notation ''#​P"​../​foo.text"''​ denotes a relative pathname if the host file system is Unix."​See //​[[CL:​Glossary:​absolute]]//​.+  * 2. (of a //​[[CL:​Glossary:​pathname]]//​) representing a position in a directory hierarchy by motion from a position other than the root, which might therefore vary. "The notation ''#​P"​../​foo.text"''​ denotes a relative pathname if the host file system is Unix." See //​[[CL:​Glossary:​absolute]]//​.
  
 ===repertoire=== ===repertoire===
Line 2296: Line 2307:
 ===required parameter=== ===required parameter===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​parameter]]//​ for which a corresponding positional //​[[CL:​Glossary:​argument]]//​ must be supplied when //​[[CL:​Glossary:​calling]]//​ the //​[[CL:​Glossary:​function]]//​.+  * a //​[[CL:​Glossary:​parameter]]//​ for which a corresponding positional //​[[CL:​Glossary:​argument]]//​ must be supplied when //​[[CL:​Glossary:​call|calling]]// the //​[[CL:​Glossary:​function]]//​.
  
 ===rest list=== ===rest list===
Line 2316: Line 2327:
 ===restart function=== ===restart function===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​function]]//​ that invokes a //​[[CL:​Glossary:​restart]]//,​ as if by **[[CL:​Functions:​invoke-restart]]**. The primary purpose of a //​[[CL:​Glossary:​restart function]]//​ is to provide an alternate interface. By convention, a //​[[CL:​Glossary:​restart function]]//​ usually has the same name as the //​[[CL:​Glossary:​restart]]//​ which it invokes. The below list shows a list of the //​[[CL:​Glossary:​standardized]]//​ //​[[CL:​Glossary:​restart functions]]//​.+  * a //​[[CL:​Glossary:​function]]//​ that invokes a //​[[CL:​Glossary:​restart]]//,​ as if by **[[CL:​Functions:​invoke-restart]]**. The primary purpose of a //​[[CL:​Glossary:​restart function]]//​ is to provide an alternate interface. By convention, a //​[[CL:​Glossary:​restart function]]//​ usually has the same name as the //​[[CL:​Glossary:​restart]]//​ which it invokes. The below list shows a list of the //​[[CL:​Glossary:​standardized]]//​ //​[[CL:​Glossary:​restart function|restart functions]]//​.
  
   * **[[CL:​Functions:​abort]]**   * **[[CL:​Functions:​abort]]**
Line 2340: Line 2351:
 //n.// //n.//
   * 1. //​[[CL:​Glossary:​load time]]//   * 1. //​[[CL:​Glossary:​load time]]//
-  * 2. //​[[CL:​Glossary:​execution time]]//+  * 2. //​[[CL:​Glossary:​execute|execution time]]//
  
 ===run-time compiler=== ===run-time compiler===
 //n.// //n.//
-  * refers to the **[[CL:​Functions:​compile]]** function or to //​[[CL:​Glossary:​implicit compilation]]//,​ for which the compilation and run-time //​[[CL:​Glossary:​environments]]//​ are maintained in the same //​[[CL:​Glossary:​Lisp image]]//.+  * refers to the **[[CL:​Functions:​compile]]** function or to //​[[CL:​Glossary:​implicit compilation]]//,​ for which the compilation and run-time //​[[CL:​Glossary:​environment|environments]]//​ are maintained in the same //​[[CL:​Glossary:​Lisp image]]//.
  
 ===run-time definition=== ===run-time definition===
Line 2358: Line 2369:
 ===safe=== ===safe===
 //adj.// //adj.//
-  * 1. (of //​[[CL:​Glossary:​code]]//​) processed in a //​[[CL:​Glossary:​lexical environment]]//​ where the the highest **[[CL:​Declarations:​safety]]** level (''​3''​) was in effect. See **[[CL:​Declarations:​optimize]]**.+  * 1. (of //​[[CL:​Glossary:​code]]//​) processed in a //​[[CL:​Glossary:​lexical environment]]//​ where the the highest **''​safety''​** level (''​3''​) was in effect. See **[[CL:​Declarations:​optimize]]**.
   * 2. (of a //​[[CL:​Glossary:​call]]//​) a //​[[CL:​Glossary:​safe call]]//.   * 2. (of a //​[[CL:​Glossary:​call]]//​) a //​[[CL:​Glossary:​safe call]]//.
  
Line 2368: Line 2379:
 //adj.// //adj.//
   * 1. (of //​[[CL:​Glossary:​object|objects]]//​ under a specified //​[[CL:​Glossary:​predicate]]//​) indistinguishable by that //​[[CL:​Glossary:​predicate]]//​. "The symbol ''​car'',​ the string ''"​car"'',​ and the string ''"​CAR"''​ are the same under **[[CL:​Functions:​string-equal]]**"​.   * 1. (of //​[[CL:​Glossary:​object|objects]]//​ under a specified //​[[CL:​Glossary:​predicate]]//​) indistinguishable by that //​[[CL:​Glossary:​predicate]]//​. "The symbol ''​car'',​ the string ''"​car"'',​ and the string ''"​CAR"''​ are the same under **[[CL:​Functions:​string-equal]]**"​.
-  * 2. (of //​[[CL:​Glossary:​object|objects]]//​ if no predicate is implied by context) indistinguishable by **[[CL:​Functions:​eql]]**. Note that **[[CL:​Functions:​eq]]** might be capable of distinguishing some //​[[CL:​Glossary:​numbers]]//​ and //​[[CL:​Glossary:​character|characters]]//​ which **[[CL:​Functions:​eql]]** cannot distinguish,​ but the nature of such, if any, is //​[[CL:​Glossary:​implementation-dependent]]//​. Since **[[CL:​Functions:​eq]]** is used only rarely in this specification,​ **[[CL:​Functions:​eql]]** is the default predicate when none is mentioned explicitly. "The conses returned by two successive calls to **[[CL:​Functions:​cons]]** are never the same."+  * 2. (of //​[[CL:​Glossary:​object|objects]]//​ if no predicate is implied by context) indistinguishable by **[[CL:​Functions:​eql]]**. Note that **[[CL:​Functions:​eq]]** might be capable of distinguishing some //​[[CL:​Glossary:​number|numbers]]// and //​[[CL:​Glossary:​character|characters]]//​ which **[[CL:​Functions:​eql]]** cannot distinguish,​ but the nature of such, if any, is //​[[CL:​Glossary:​implementation-dependent]]//​. Since **[[CL:​Functions:​eq]]** is used only rarely in this specification,​ **[[CL:​Functions:​eql]]** is the default predicate when none is mentioned explicitly. "The conses returned by two successive calls to **[[CL:​Functions:​cons]]** are never the same."
   * 3. (of //​[[CL:​Glossary:​type|types]]//​) having the same set of //​[[CL:​Glossary:​element|elements]]//;​ that is, each //​[[CL:​Glossary:​type]]//​ is a //​[[CL:​Glossary:​subtype]]//​ of the others. "The types specified by ''​([[CL:​Types:​integer]] 0 1)'',​ ''​([[CL:​Types:​unsigned-byte]] 1)'',​ and **[[CL:​Types:​bit]]** are the same."   * 3. (of //​[[CL:​Glossary:​type|types]]//​) having the same set of //​[[CL:​Glossary:​element|elements]]//;​ that is, each //​[[CL:​Glossary:​type]]//​ is a //​[[CL:​Glossary:​subtype]]//​ of the others. "The types specified by ''​([[CL:​Types:​integer]] 0 1)'',​ ''​([[CL:​Types:​unsigned-byte]] 1)'',​ and **[[CL:​Types:​bit]]** are the same."
  
Line 2378: Line 2389:
 ===scope=== ===scope===
 //n.// //n.//
-  * the structural or textual region of code in which //​[[CL:​Glossary:​references]]//​ to an //​[[CL:​Glossary:​object]]//,​ a //​[[CL:​Glossary:​binding]]//,​ an //​[[CL:​Glossary:​exit point]]//, a //​[[CL:​Glossary:​tag]]//,​ or an //​[[CL:​Glossary:​environment]]//​ (usually by //​[[CL:​Glossary:​name]]//​) can occur.+  * the structural or textual region of code in which //​[[CL:​Glossary:​reference|references]]//​ to an //​[[CL:​Glossary:​object]]//,​ a //​[[CL:​Glossary:​binding]]//,​ an //​[[CL:​Glossary:​exit point]]//, a //​[[CL:​Glossary:​tag]]//,​ or an //​[[CL:​Glossary:​environment]]//​ (usually by //​[[CL:​Glossary:​name]]//​) can occur.
  
 ===script=== ===script===
Line 2394: Line 2405:
 ===self-evaluating object=== ===self-evaluating object===
 //n.// //n.//
-  * an //​[[CL:​Glossary:​object]]//​ that is neither a //​[[CL:​Glossary:​symbol]]//​ nor a //​[[CL:​Glossary:​cons]]//​. If a //​[[CL:​Glossary:​self-evaluating object]]// is //​[[CL:​Glossary:​evaluate|evaluated]]//,​ it //​[[CL:​Glossary:​yields]]//​ itself as its only //​[[CL:​Glossary:​value]]//​. "​Strings are self-evaluating objects."​+  * an //​[[CL:​Glossary:​object]]//​ that is neither a //​[[CL:​Glossary:​symbol]]//​ nor a //​[[CL:​Glossary:​cons]]//​. If a //​[[CL:​Glossary:​self-evaluating object]]// is //​[[CL:​Glossary:​evaluate|evaluated]]//,​ it //​[[CL:​Glossary:​yield|yields]]// itself as its only //​[[CL:​Glossary:​value]]//​. "​Strings are self-evaluating objects."​
  
 ===semi-standard=== ===semi-standard===
Line 2411: Line 2422:
 ===sequence function=== ===sequence function===
 //n.// //n.//
-  * one of the //​[[CL:​Glossary:​function|functions]]//​ in \figref\SequenceFunctions,​ or an //​[[CL:​Glossary:​implementation-defined]]//​ //​[[CL:​Glossary:​function]]//​ that operates on one or more //​[[CL:​Glossary:​sequences]]//​. and that is defined by the //​[[CL:​Glossary:​implementation]]//​ to be a //​[[CL:​Glossary:​sequence function]]//​.+  * one of the //​[[CL:​Glossary:​function|functions]]//​ in \figref\SequenceFunctions,​ or an //​[[CL:​Glossary:​implementation-defined]]//​ //​[[CL:​Glossary:​function]]//​ that operates on one or more //​[[CL:​Glossary:​sequence|sequences]]//​. and that is defined by the //​[[CL:​Glossary:​implementation]]//​ to be a //​[[CL:​Glossary:​sequence function]]//​.
  
 ===sequential=== ===sequential===
-//adj.// //Trad.// (of //​[[CL:​Glossary:​binding]]//​ or //​[[CL:​Glossary:​assignment]]//​) +//adj.// //Trad.// (of //​[[CL:​Glossary:​binding]]//​ or //​[[CL:​Glossary:​assign|assignment]]//​) 
-  * done in the style of **[[CL:Macros:setq]]**, **[[CL:​Special Operators:​let-star|let*]]**,​ or **[[CL:​Macros:​do-star|do*]]**;​ that is, interleaving the evaluation of the //​[[CL:​Glossary:​form|forms]]//​ that produce //​[[CL:​Glossary:​value|values]]//​ with the //​[[CL:​Glossary:​assignments]]//​ or //​[[CL:​Glossary:​binding|bindings]]//​ of the //​[[CL:​Glossary:​variable|variables]]//​ (or //​[[CL:​Glossary:​places]]//​). See //​[[CL:​Glossary:​parallel]]//​.+  * done in the style of **[[CL:Special Operators:setq]]**, **[[CL:​Special Operators:​let-star|let*]]**,​ or **[[CL:​Macros:​do-star|do*]]**;​ that is, interleaving the evaluation of the //​[[CL:​Glossary:​form|forms]]//​ that produce //​[[CL:​Glossary:​value|values]]//​ with the //​[[CL:​Glossary:​assign|assignments]]//​ or //​[[CL:​Glossary:​binding|bindings]]//​ of the //​[[CL:​Glossary:​variable|variables]]//​ (or //​[[CL:​Glossary:​place|places]]//​). See //​[[CL:​Glossary:​parallel]]//​.
  
 ===sequentially=== ===sequentially===
Line 2423: Line 2434:
 ===serious condition=== ===serious condition===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​condition]]//​ of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​serious-condition]]**,​ which represents a //​[[CL:​Glossary:​situation]]//​ that is generally sufficiently severe that entry into the //​[[CL:​Glossary:​debugger]]//​ should be expected if the //​[[CL:​Glossary:​condition]]//​ is //​[[CL:​Glossary:​signal|signaled]]//​ but not //​[[CL:​Glossary:​handled]]//​.+  * a //​[[CL:​Glossary:​condition]]//​ of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​serious-condition]]**,​ which represents a //​[[CL:​Glossary:​situation]]//​ that is generally sufficiently severe that entry into the //​[[CL:​Glossary:​debugger]]//​ should be expected if the //​[[CL:​Glossary:​condition]]//​ is //​[[CL:​Glossary:​signal|signaled]]//​ but not //​[[CL:​Glossary:​handle|handled]]//​.
  
 ===session=== ===session===
Line 2440: Line 2451:
 ===setf expansion=== ===setf expansion===
 //n.// //n.//
-  * a set of five //​[[CL:​Glossary:​expressions|expressions<​sub>​1</​sub>​]]//​ that, taken together, describe how to store into a //​[[CL:​Glossary:​place]]//​ and which //​[[CL:​Glossary:​subforms]]//​ of the macro call associated with the //​[[CL:​Glossary:​place]]//​ are evaluated. \Seesection\SetfExpansions.+  * a set of five //​[[CL:​Glossary:​expression|expressions<​sub>​1</​sub>​]]//​ that, taken together, describe how to store into a //​[[CL:​Glossary:​place]]//​ and which //​[[CL:​Glossary:​subform|subforms]]//​ of the macro call associated with the //​[[CL:​Glossary:​place]]//​ are evaluated. \Seesection\SetfExpansions.
 \issue{SETF-METHOD-VS-SETF-METHOD:​RENAME-OLD-TERMS} \issue{SETF-METHOD-VS-SETF-METHOD:​RENAME-OLD-TERMS}
  
Line 2464: Line 2475:
 ===shadowing symbols list=== ===shadowing symbols list===
 //n.// (of a //​[[CL:​Glossary:​package]]//​) //n.// (of a //​[[CL:​Glossary:​package]]//​)
-  * a //​[[CL:​Glossary:​list]]//,​ associated with the //​[[CL:​Glossary:​package]]//,​ of //​[[CL:​Glossary:​symbol|symbols]]//​ that are to be exempted from `symbol conflict errors'​ detected when packages are //​[[CL:​Glossary:​used]]//​. See **[[CL:​Functions:​package-shadowing-symbols]]**.+  * a //​[[CL:​Glossary:​list]]//,​ associated with the //​[[CL:​Glossary:​package]]//,​ of //​[[CL:​Glossary:​symbol|symbols]]//​ that are to be exempted from `symbol conflict errors'​ detected when packages are //​[[CL:​Glossary:​use|used]]//. See **[[CL:​Functions:​package-shadowing-symbols]]**.
  
 ===shared slot=== ===shared slot===
 //n.// (of a //​[[CL:​Glossary:​class]]//​) //n.// (of a //​[[CL:​Glossary:​class]]//​)
-  * a //​[[CL:​Glossary:​slot]]//​ //​[[CL:​Glossary:​accessible]]//​ in more than one //​[[CL:​Glossary:​instance]]//​ of a //​[[CL:​Glossary:​class]]//;​ specifically,​ such a //​[[CL:​Glossary:​slot]]//​ is //​[[CL:​Glossary:​accessible]]//​ in all //​[[CL:​Glossary:​direct instances]]//​ of the //​[[CL:​Glossary:​class]]//​ and in those //​[[CL:​Glossary:​indirect instances]]//​ whose //​[[CL:​Glossary:​class]]//​ does not //​[[CL:​Glossary:​shadow|shadow<​sub>​1</​sub>​]]//​ the //​[[CL:​Glossary:​slot]]//​.+  * a //​[[CL:​Glossary:​slot]]//​ //​[[CL:​Glossary:​accessible]]//​ in more than one //​[[CL:​Glossary:​instance]]//​ of a //​[[CL:​Glossary:​class]]//;​ specifically,​ such a //​[[CL:​Glossary:​slot]]//​ is //​[[CL:​Glossary:​accessible]]//​ in all //​[[CL:​Glossary:​direct instance|direct instances]]//​ of the //​[[CL:​Glossary:​class]]//​ and in those //​[[CL:​Glossary:​indirect instance|indirect instances]]//​ whose //​[[CL:​Glossary:​class]]//​ does not //​[[CL:​Glossary:​shadow|shadow<​sub>​1</​sub>​]]//​ the //​[[CL:​Glossary:​slot]]//​.
  
 ===sharpsign=== ===sharpsign===
Line 2496: Line 2507:
 ===similarity=== ===similarity===
 //n.// //n.//
-  * a two-place conceptual equivalence predicate, which is independent of the //​[[CL:​Glossary:​Lisp image]]// so that two //​[[CL:​Glossary:​object|objects]]//​ in different //​[[CL:​Glossary:​Lisp images]]// can be understood to be equivalent under this predicate. \Seesection\LiteralsInCompiledFiles.+  * a two-place conceptual equivalence predicate, which is independent of the //​[[CL:​Glossary:​Lisp image]]// so that two //​[[CL:​Glossary:​object|objects]]//​ in different //​[[CL:​Glossary:​Lisp image|Lisp images]]// can be understood to be equivalent under this predicate. \Seesection\LiteralsInCompiledFiles.
  
 ===simple=== ===simple===
Line 2529: Line 2540:
 ===simple vector=== ===simple vector===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​vector]]//​ of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​simple-vector]]**,​ sometimes called a "//​[[CL:​Glossary:​simple general vector]]//​."​ Not all //​[[CL:​Glossary:​vectors]]//​ that are //​[[CL:​Glossary:​simple]]//​ are //​[[CL:​Glossary:​simple vectors]]// - only those that have //​[[CL:​Glossary:​element type]]// **[[CL:​Types:​t]]**.+  * a //​[[CL:​Glossary:​vector]]//​ of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​simple-vector]]**,​ sometimes called a "//​[[CL:​Glossary:​simple general vector]]//​."​ Not all //​[[CL:​Glossary:​vector|vectors]]// that are //​[[CL:​Glossary:​simple]]//​ are //​[[CL:​Glossary:​simple vector|simple vectors]]// - only those that have //​[[CL:​Glossary:​element type]]// **[[CL:​Types:​t]]**.
  
 ===single escape=== ===single escape===
Line 2572: Line 2583:
 ===source file=== ===source file===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​file]]//​ which contains a textual representation of //​[[CL:​Glossary:​source code]]//, that can be edited, //​[[CL:​Glossary:​loaded]]//,​ or //​[[CL:​Glossary:​compiled]]//​.+  * a //​[[CL:​Glossary:​file]]//​ which contains a textual representation of //​[[CL:​Glossary:​source code]]//, that can be edited, //​[[CL:​Glossary:​load|loaded]]//, or //​[[CL:​Glossary:​compile|compiled]]//​.
  
 ===space=== ===space===
Line 2592: Line 2603:
 ===specialize=== ===specialize===
 //v.t.// (a //​[[CL:​Glossary:​generic function]]//​) //v.t.// (a //​[[CL:​Glossary:​generic function]]//​)
-  * to define a //​[[CL:​Glossary:​method]]//​ for the //​[[CL:​Glossary:​generic function]]//,​ or in other words, to refine the behavior of the //​[[CL:​Glossary:​generic function]]//​ by giving it a specific meaning for a particular set of //​[[CL:​Glossary:​classes]]//​ or //​[[CL:​Glossary:​argument|arguments]]//​.+  * to define a //​[[CL:​Glossary:​method]]//​ for the //​[[CL:​Glossary:​generic function]]//,​ or in other words, to refine the behavior of the //​[[CL:​Glossary:​generic function]]//​ by giving it a specific meaning for a particular set of //​[[CL:​Glossary:​class|classes]]// or //​[[CL:​Glossary:​argument|arguments]]//​.
  
 ===specialized=== ===specialized===
Line 2605: Line 2616:
 ===spreadable argument list designator=== ===spreadable argument list designator===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​designator]]//​ for a //​[[CL:​Glossary:​list]]//​ of //​[[CL:​Glossary:​object|objects]]//;​ that is, an //​[[CL:​Glossary:​object]]//​ that denotes a //​[[CL:​Glossary:​list]]//​ and that is a //​[[CL:​Glossary:​non-null]]// //​[[CL:​Glossary:​list]]//​ ''​L1''​ of length ''​n'',​ whose last element is a //​[[CL:​Glossary:​list]]//​ ''​L2''​ of length ''​m''​ (denoting a list ''​L3''​ of length ''​m+n-1''​ whose //​[[CL:​Glossary:​element|elements]]//​ are ''​L1<​sub>​i</​sub>''​ for ''​i < n-1''​ followed by ''​L2<​sub>​j</​sub>''​ for ''​j < m''​). "The list (1 2 (3 4 5)) is a spreadable argument list designator for the list (1 2 3 4 5)."+  * a //​[[CL:​Glossary:​designator]]//​ for a //​[[CL:​Glossary:​list]]//​ of //​[[CL:​Glossary:​object|objects]]//;​ that is, an //​[[CL:​Glossary:​object]]//​ that denotes a //​[[CL:​Glossary:​list]]//​ and that is a //​[[CL:​Glossary:​non-nil]]// //​[[CL:​Glossary:​list]]//​ ''​L1''​ of length ''​n'',​ whose last element is a //​[[CL:​Glossary:​list]]//​ ''​L2''​ of length ''​m''​ (denoting a list ''​L3''​ of length ''​m+n-1''​ whose //​[[CL:​Glossary:​element|elements]]//​ are ''​L1<​sub>​i</​sub>''​ for ''​i < n-1''​ followed by ''​L2<​sub>​j</​sub>''​ for ''​j < m''​). "The list (1 2 (3 4 5)) is a spreadable argument list designator for the list (1 2 3 4 5)."
  
 ===stack allocate=== ===stack allocate===
 //v.t.//, //Trad.// //v.t.//, //Trad.//
-  * to allocate in a non-permanent way, such as on a stack. Stack-allocation is an optimization technique used in some //​[[CL:​Glossary:​implementation|implementations]]//​ for allocating certain kinds of //​[[CL:​Glossary:​object|objects]]//​ that have //​[[CL:​Glossary:​dynamic extent]]//. Such //​[[CL:​Glossary:​object|objects]]//​ are allocated on the stack rather than in the heap so that their storage can be freed as part of unwinding the stack rather than taking up space in the heap until the next garbage collection. What //​[[CL:​Glossary:​type|types]]//​ (if any) can have //​[[CL:​Glossary:​dynamic extent]]// can vary from //​[[CL:​Glossary:​implementation]]//​ to //​[[CL:​Glossary:​implementation]]//​. No //​[[CL:​Glossary:​implementation]]//​ is ever required to perform stack-allocation.+  * to allocate in a non-permanent way, such as on a stack. Stack-allocation is an optimization technique used in some //​[[CL:​Glossary:​implementation|implementations]]//​ for allocating certain kinds of //​[[CL:​Glossary:​object|objects]]//​ that have //​[[CL:​Glossary:​dynamic extent]]//. Such //​[[CL:​Glossary:​object|objects]]//​ are allocated on the stack rather than in the heap so that their storage can be freed as part of unwinding the stack rather than taking up space in the heap until the next garbage collection. What //​[[CL:​Glossary:​type|types]]//​ (if any) can have //​[[CL:​Glossary:​dynamic extent]]// can vary from //​[[CL:​Glossary:​implementation]]//​ to //​[[CL:​Glossary:​implementation]]//​. No //​[[CL:​Glossary:​implementation]]//​ is ever required to perform stack-allocation. See **[[CL:​Declarations:​dynamic-extent]]**.
  
 ===stack-allocated=== ===stack-allocated===
 //adj.//, //Trad.// //adj.//, //Trad.//
-  * having been //​[[CL:​Glossary:​stack allocated]]//​.+  * having been //​[[CL:​Glossary:​stack allocate|stack allocated]]//​.
  
 ===standard character=== ===standard character===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​character]]//​ of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​standard-char]]**,​ which is one of a fixed set of 96 such //​[[CL:​Glossary:​character|characters]]//​ required to be present in all //​[[CL:​Glossary:​conforming implementations]]//​. \Seesection\StandardChars.+  * a //​[[CL:​Glossary:​character]]//​ of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​standard-char]]**,​ which is one of a fixed set of 96 such //​[[CL:​Glossary:​character|characters]]//​ required to be present in all //​[[CL:​Glossary:​conforming implementation|conforming implementations]]//​. \Seesection\StandardChars.
  
 ===standard class=== ===standard class===
Line 2633: Line 2644:
 ===standard method combination=== ===standard method combination===
 //n.// //n.//
-  * the //​[[CL:​Glossary:​method combination]]//​ named **[[CL:Types:standard]]**.+  * the //​[[CL:​Glossary:​method combination]]//​ named **''​standard''​**.
  
 ===standard object=== ===standard object===
Line 2645: Line 2656:
 ===standard pprint dispatch table=== ===standard pprint dispatch table===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​pprint dispatch table]]// that is //​[[CL:​Glossary:​different]]//​ from the //​[[CL:​Glossary:​initial pprint dispatch table]]//, that implements //​[[CL:​Glossary:​pretty printing]]//​ as described in this specification,​ and that, unlike other //​[[CL:​Glossary:​pprint dispatch tables]]//, must never be modified by any program. (Although the definite reference "the //​[[CL:​Glossary:​standard pprint dispatch table]]//"​ is generally used within this document, it is actually //​[[CL:​Glossary:​implementation-dependent]]//​ whether a single //​[[CL:​Glossary:​object]]//​ fills the role of the //​[[CL:​Glossary:​standard pprint dispatch table]]//, or whether there might be multiple such objects, any one of which could be used on any given occasion where "the //​[[CL:​Glossary:​standard pprint dispatch table]]//"​ is called for. As such, this phrase should be seen as an indefinite reference in all cases except for anaphoric references.)+  * a //​[[CL:​Glossary:​pprint dispatch table]]// that is //​[[CL:​Glossary:​different]]//​ from the //​[[CL:​Glossary:​initial pprint dispatch table]]//, that implements //​[[CL:​Glossary:​pretty print|pretty printing]]//​ as described in this specification,​ and that, unlike other //​[[CL:​Glossary:​pprint dispatch table|pprint dispatch tables]]//, must never be modified by any program. (Although the definite reference "the //​[[CL:​Glossary:​standard pprint dispatch table]]//"​ is generally used within this document, it is actually //​[[CL:​Glossary:​implementation-dependent]]//​ whether a single //​[[CL:​Glossary:​object]]//​ fills the role of the //​[[CL:​Glossary:​standard pprint dispatch table]]//, or whether there might be multiple such objects, any one of which could be used on any given occasion where "the //​[[CL:​Glossary:​standard pprint dispatch table]]//"​ is called for. As such, this phrase should be seen as an indefinite reference in all cases except for anaphoric references.)
 \issue{KMP-COMMENTS-ON-SANDRA-COMMENTS:​X3J13-MAR-92} \issue{KMP-COMMENTS-ON-SANDRA-COMMENTS:​X3J13-MAR-92}
  
 ===standard readtable=== ===standard readtable===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​readtable]]//​ that is //​[[CL:​Glossary:​different]]//​ from the //​[[CL:​Glossary:​initial readtable]]//,​ that implements the //​[[CL:​Glossary:​expression]]//​ syntax defined in this specification,​ and that, unlike other //​[[CL:​Glossary:​readtables]]//,​ must never be modified by any program. (Although the definite reference "the //​[[CL:​Glossary:​standard readtable]]//"​ is generally used within this document, it is actually //​[[CL:​Glossary:​implementation-dependent]]//​ whether a single //​[[CL:​Glossary:​object]]//​ fills the role of the //​[[CL:​Glossary:​standard readtable]]//,​ or whether there might be multiple such objects, any one of which could be used on any given occasion where "the //​[[CL:​Glossary:​standard readtable]]//"​ is called for. As such, this phrase should be seen as an indefinite reference in all cases except for anaphoric references.)+  * a //​[[CL:​Glossary:​readtable]]//​ that is //​[[CL:​Glossary:​different]]//​ from the //​[[CL:​Glossary:​initial readtable]]//,​ that implements the //​[[CL:​Glossary:​expression]]//​ syntax defined in this specification,​ and that, unlike other //​[[CL:​Glossary:​readtable|readtables]]//,​ must never be modified by any program. (Although the definite reference "the //​[[CL:​Glossary:​standard readtable]]//"​ is generally used within this document, it is actually //​[[CL:​Glossary:​implementation-dependent]]//​ whether a single //​[[CL:​Glossary:​object]]//​ fills the role of the //​[[CL:​Glossary:​standard readtable]]//,​ or whether there might be multiple such objects, any one of which could be used on any given occasion where "the //​[[CL:​Glossary:​standard readtable]]//"​ is called for. As such, this phrase should be seen as an indefinite reference in all cases except for anaphoric references.)
 \issue{WITH-STANDARD-IO-SYNTAX-READTABLE:​X3J13-MAR-91} \issue{WITH-STANDARD-IO-SYNTAX-READTABLE:​X3J13-MAR-91}
  
Line 2673: Line 2684:
 ===stream=== ===stream===
 //n.// //n.//
-  * an //​[[CL:​Glossary:​object]]//​ that can be used with an input or output function to identify an appropriate source or sink of //​[[CL:​Glossary:​character|characters]]//​ or //​[[CL:​Glossary:​bytes]]//​ for that operation.+  * an //​[[CL:​Glossary:​object]]//​ that can be used with an input or output function to identify an appropriate source or sink of //​[[CL:​Glossary:​character|characters]]//​ or //​[[CL:​Glossary:​byte|bytes]]// for that operation.
  
 ===stream associated with a file=== ===stream associated with a file===
Line 2683: Line 2694:
 ===stream designator=== ===stream designator===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​designator]]//​ for a //​[[CL:​Glossary:​stream]]//;​ that is, an //​[[CL:​Glossary:​object]]//​ that denotes a //​[[CL:​Glossary:​stream]]//​ and that is one of: **[[CL:​Constant Variables:​t]]** (denoting the //​[[CL:​Glossary:​value]]//​ of **[[CL:​Variables:​star-terminal-io-star|*terminal-io*]]**),​ **[[CL:​Constant Variables:​nil]]** (denoting the //​[[CL:​Glossary:​value]]//​ of **[[CL:​Variables:​star-standard-input-star|*standard-input*]]** for //​[[CL:​Glossary:​input]]//​ //​[[CL:​Glossary:​stream designators]]//​ or denoting the //​[[CL:​Glossary:​value]]//​ of **[[CL:​Variables:​star-standard-output-star|*standard-output*]]** for //​[[CL:​Glossary:​output]]//​ //​[[CL:​Glossary:​stream designators]]//​),​ or a //​[[CL:​Glossary:​stream]]//​ (denoting itself).+  * a //​[[CL:​Glossary:​designator]]//​ for a //​[[CL:​Glossary:​stream]]//;​ that is, an //​[[CL:​Glossary:​object]]//​ that denotes a //​[[CL:​Glossary:​stream]]//​ and that is one of: **[[CL:​Constant Variables:​t]]** (denoting the //​[[CL:​Glossary:​value]]//​ of **[[CL:​Variables:​star-terminal-io-star|*terminal-io*]]**),​ **[[CL:​Constant Variables:​nil]]** (denoting the //​[[CL:​Glossary:​value]]//​ of **[[CL:​Variables:​star-standard-input-star|*standard-input*]]** for //​[[CL:​Glossary:​input]]//​ //​[[CL:​Glossary:​stream designator|stream designators]]//​ or denoting the //​[[CL:​Glossary:​value]]//​ of **[[CL:​Variables:​star-standard-output-star|*standard-output*]]** for //​[[CL:​Glossary:​output]]//​ //​[[CL:​Glossary:​stream designator|stream designators]]//​),​ or a //​[[CL:​Glossary:​stream]]//​ (denoting itself).
  
 ===stream element type=== ===stream element type===
Line 2695: Line 2706:
 ===stream variable designator=== ===stream variable designator===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​designator]]//​ for a //​[[CL:​Glossary:​stream variable]]//;​ that is, a //​[[CL:​Glossary:​symbol]]//​ that denotes a //​[[CL:​Glossary:​stream variable]]//​ and that is one of: **[[CL:​Constant Variables:​t]]** (denoting **[[CL:​Variables:​star-terminal-io-star|*terminal-io*]]**),​ **[[CL:​Constant Variables:​nil]]** (denoting **[[CL:​Variables:​star-standard-input-star|*standard-input*]]** for //​[[CL:​Glossary:​input]]//​ //​[[CL:​Glossary:​stream variable designators]]//​ or denoting **[[CL:​Variables:​star-standard-output-star|*standard-output*]]** for //​[[CL:​Glossary:​output]]//​ //​[[CL:​Glossary:​stream variable designators]]//​),​ or some other //​[[CL:​Glossary:​symbol]]//​ (denoting itself).+  * a //​[[CL:​Glossary:​designator]]//​ for a //​[[CL:​Glossary:​stream variable]]//;​ that is, a //​[[CL:​Glossary:​symbol]]//​ that denotes a //​[[CL:​Glossary:​stream variable]]//​ and that is one of: **[[CL:​Constant Variables:​t]]** (denoting **[[CL:​Variables:​star-terminal-io-star|*terminal-io*]]**),​ **[[CL:​Constant Variables:​nil]]** (denoting **[[CL:​Variables:​star-standard-input-star|*standard-input*]]** for //​[[CL:​Glossary:​input]]//​ //​[[CL:​Glossary:​stream variable designator|stream variable designators]]//​ or denoting **[[CL:​Variables:​star-standard-output-star|*standard-output*]]** for //​[[CL:​Glossary:​output]]//​ //​[[CL:​Glossary:​stream variable designator|stream variable designators]]//​),​ or some other //​[[CL:​Glossary:​symbol]]//​ (denoting itself).
  
 ===string=== ===string===
Line 2732: Line 2743:
 ===subclass=== ===subclass===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​class]]//​ that //​[[CL:​Glossary:​inherits]]//​ from another //​[[CL:​Glossary:​class]]//,​ called a //​[[CL:​Glossary:​superclass]]//​. (No //​[[CL:​Glossary:​class]]//​ is a //​[[CL:​Glossary:​subclass]]//​ of itself.)+  * a //​[[CL:​Glossary:​class]]//​ that //​[[CL:​Glossary:​inherit|inherits]]//​ from another //​[[CL:​Glossary:​class]]//,​ called a //​[[CL:​Glossary:​superclass]]//​. (No //​[[CL:​Glossary:​class]]//​ is a //​[[CL:​Glossary:​subclass]]//​ of itself.)
  
 ===subexpression=== ===subexpression===
Line 2752: Line 2763:
 ===superclass=== ===superclass===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​class]]//​ from which another //​[[CL:​Glossary:​class]]//​ (called a //​[[CL:​Glossary:​subclass]]//​) //​[[CL:​Glossary:​inherits]]//​. (No //​[[CL:​Glossary:​class]]//​ is a //​[[CL:​Glossary:​superclass]]//​ of itself.) See //​[[CL:​Glossary:​subclass]]//​.+  * a //​[[CL:​Glossary:​class]]//​ from which another //​[[CL:​Glossary:​class]]//​ (called a //​[[CL:​Glossary:​subclass]]//​) //​[[CL:​Glossary:​inherit|inherits]]//​. (No //​[[CL:​Glossary:​class]]//​ is a //​[[CL:​Glossary:​superclass]]//​ of itself.) See //​[[CL:​Glossary:​subclass]]//​.
  
 ===supertype=== ===supertype===
Line 2768: Line 2779:
 ===symbol macro=== ===symbol macro===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​symbol]]//​ that stands for another //​[[CL:​Glossary:​form]]//​. ​see //​[[CL:​Glossary:​macro]]// **[[CL:Macros:​symbol-macrolet]]**.+  * a //​[[CL:​Glossary:​symbol]]//​ that stands for another //​[[CL:​Glossary:​form]]//​. ​See //​[[CL:​Glossary:​special operator]]// **[[CL:Special Operators:​symbol-macrolet]]**.
  
 ===synonym stream=== ===synonym stream===
Line 2786: Line 2797:
 ===system class=== ===system class===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​class]]//​ that may be of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​built-in-class]]** in a //​[[CL:​Glossary:​conforming implementation]]//​ and hence cannot be inherited by //​[[CL:​Glossary:​classes]]//​ defined by //​[[CL:​Glossary:​conforming program|conforming programs]]//​.+  * a //​[[CL:​Glossary:​class]]//​ that may be of //​[[CL:​Glossary:​type]]//​ **[[CL:​Types:​built-in-class]]** in a //​[[CL:​Glossary:​conforming implementation]]//​ and hence cannot be inherited by //​[[CL:​Glossary:​class|classes]]// defined by //​[[CL:​Glossary:​conforming program|conforming programs]]//​.
  
 ===system code=== ===system code===
Line 2800: Line 2811:
     * b. the canonical //​[[CL:​Glossary:​generalized boolean]]// representing true. (Although any //​[[CL:​Glossary:​object]]//​ other than **[[CL:​Constant Variables:​nil]]** is considered //​[[CL:​Glossary:​true]]//​ as a //​[[CL:​Glossary:​generalized boolean]]//,​ **[[CL:​Constant Variables:​t]]** is generally used when there is no special reason to prefer one such //​[[CL:​Glossary:​object]]//​ over another.)     * b. the canonical //​[[CL:​Glossary:​generalized boolean]]// representing true. (Although any //​[[CL:​Glossary:​object]]//​ other than **[[CL:​Constant Variables:​nil]]** is considered //​[[CL:​Glossary:​true]]//​ as a //​[[CL:​Glossary:​generalized boolean]]//,​ **[[CL:​Constant Variables:​t]]** is generally used when there is no special reason to prefer one such //​[[CL:​Glossary:​object]]//​ over another.)
   * 2. the //​[[CL:​Glossary:​name]]//​ of the //​[[CL:​Glossary:​type]]//​ to which all //​[[CL:​Glossary:​object|objects]]//​ belong - the //​[[CL:​Glossary:​supertype]]//​ of all //​[[CL:​Glossary:​type|types]]//​ (including itself). See **[[CL:​Types:​t]]**.   * 2. the //​[[CL:​Glossary:​name]]//​ of the //​[[CL:​Glossary:​type]]//​ to which all //​[[CL:​Glossary:​object|objects]]//​ belong - the //​[[CL:​Glossary:​supertype]]//​ of all //​[[CL:​Glossary:​type|types]]//​ (including itself). See **[[CL:​Types:​t]]**.
-  * 3. the //​[[CL:​Glossary:​name]]//​ of the //​[[CL:​Glossary:​superclass]]//​ of all //​[[CL:​Glossary:​classes]]//​ except itself. See **[[CL:​Types:​t]]**.+  * 3. the //​[[CL:​Glossary:​name]]//​ of the //​[[CL:​Glossary:​superclass]]//​ of all //​[[CL:​Glossary:​class|classes]]// except itself. See **[[CL:​Types:​t]]**.
  
 ===tag=== ===tag===
Line 2815: Line 2826:
 //n.// //n.//
   * 1. (of a //​[[CL:​Glossary:​constructed stream]]//) a //​[[CL:​Glossary:​constituent]]//​ of the //​[[CL:​Glossary:​constructed stream]]//. "The target of a synonym stream is the value of its synonym stream symbol."​   * 1. (of a //​[[CL:​Glossary:​constructed stream]]//) a //​[[CL:​Glossary:​constituent]]//​ of the //​[[CL:​Glossary:​constructed stream]]//. "The target of a synonym stream is the value of its synonym stream symbol."​
-  * 2. (of a //​[[CL:​Glossary:​displaced array]]//) the //​[[CL:​Glossary:​array]]//​ to which the //​[[CL:​Glossary:​displaced array]]// is displaced. (In the case of a chain of //​[[CL:​Glossary:​constructed streams]]// or //​[[CL:​Glossary:​displaced arrays]]//, the unqualified term "//​[[CL:​Glossary:​target]]//"​ always refers to the immediate //​[[CL:​Glossary:​target]]//​ of the first item in the chain, not the immediate target of the last item.)+  * 2. (of a //​[[CL:​Glossary:​displaced array]]//) the //​[[CL:​Glossary:​array]]//​ to which the //​[[CL:​Glossary:​displaced array]]// is displaced. (In the case of a chain of //​[[CL:​Glossary:​constructed stream|constructed streams]]// or //​[[CL:​Glossary:​displaced array|displaced arrays]]//, the unqualified term "//​[[CL:​Glossary:​target]]//"​ always refers to the immediate //​[[CL:​Glossary:​target]]//​ of the first item in the chain, not the immediate target of the last item.)
  
 ===terminal I/O=== ===terminal I/O===
Line 2843: Line 2854:
 ===time zone=== ===time zone===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​rational]]//​ multiple of ''​1/​3600''​ between ''​-24''​ (inclusive) and ''​24''​ (inclusive) that represents a time zone as a number of hours offset from Greenwich Mean Time. Time zone values increase with motion to the west, so Massachusetts,​ U.S.A. is in time zone ''​5'',​ California, U.S.A. is time zone ''​8'',​ and Moscow, Russia is time zone //​[[CL:​Glossary:​-3]]//. (When "​daylight savings time" is separately represented as an //​[[CL:​Glossary:​argument]]//​ or //​[[CL:​Glossary:​return value]]//, the //​[[CL:​Glossary:​time zone]]// that accompanies it does not depend on whether daylight savings time is in effect.)+  * a //​[[CL:​Glossary:​rational]]//​ multiple of ''​1/​3600''​ between ''​-24''​ (inclusive) and ''​24''​ (inclusive) that represents a time zone as a number of hours offset from Greenwich Mean Time. Time zone values increase with motion to the west, so Massachusetts,​ U.S.A. is in time zone ''​5'',​ California, U.S.A. is time zone ''​8'',​ and Moscow, Russia is time zone ''​-3''​. (When "​daylight savings time" is separately represented as an //​[[CL:​Glossary:​argument]]//​ or //​[[CL:​Glossary:​return value]]//, the //​[[CL:​Glossary:​time zone]]// that accompanies it does not depend on whether daylight savings time is in effect.)
 \issue{TIME-ZONE-NON-INTEGER:​ALLOW} \issue{TIME-ZONE-NON-INTEGER:​ALLOW}
  
Line 2852: Line 2863:
 ===top level form=== ===top level form===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​form]]//​ which is processed specially by **[[CL:​Functions:​compile-file]]** for the purposes of enabling //​[[CL:​Glossary:​compile time]]// //​[[CL:​Glossary:​evaluation]]//​ of that //​[[CL:​Glossary:​form]]//​. //​[[CL:​Glossary:​Top level forms]]// include those //​[[CL:​Glossary:​form|forms]]//​ which are not //​[[CL:​Glossary:​subforms]]//​ of any other //​[[CL:​Glossary:​form]]//,​ and certain other cases. \Seesection\TopLevelForms.+  * a //​[[CL:​Glossary:​form]]//​ which is processed specially by **[[CL:​Functions:​compile-file]]** for the purposes of enabling //​[[CL:​Glossary:​compile time]]// //​[[CL:​Glossary:​evaluation]]//​ of that //​[[CL:​Glossary:​form]]//​. //​[[CL:​Glossary:​top level form|Top level forms]]// include those //​[[CL:​Glossary:​form|forms]]//​ which are not //​[[CL:​Glossary:​subform|subforms]]//​ of any other //​[[CL:​Glossary:​form]]//,​ and certain other cases. \Seesection\TopLevelForms.
  
 ===trace output=== ===trace output===
Line 2860: Line 2871:
 ===tree=== ===tree===
 //n.// //n.//
-  * 1. a binary recursive data structure made up of //​[[CL:​Glossary:​cons|conses]]//​ and //​[[CL:​Glossary:​atoms]]//:​ the //​[[CL:​Glossary:​cons|conses]]//​ are themselves also //​[[CL:​Glossary:​trees]]//​ (sometimes called "​subtrees"​ or "​branches"​),​ and the //​[[CL:​Glossary:​atoms]]//​ are terminal nodes (sometimes called //​[[CL:​Glossary:​leaves]]//​). Typically, the //​[[CL:​Glossary:​leaves]]//​ represent data while the branches establish some relationship among that data. +  * 1. a binary ​//​[[CL:​Glossary:​recursion|recursive]]// data structure made up of //​[[CL:​Glossary:​cons|conses]]//​ and //​[[CL:​Glossary:​atom|atoms]]//: the //​[[CL:​Glossary:​cons|conses]]//​ are themselves also //​[[CL:​Glossary:​tree|trees]]// (sometimes called "​subtrees"​ or "​branches"​),​ and the //​[[CL:​Glossary:​atom|atoms]]// are terminal nodes (sometimes called //​[[CL:​Glossary:​leaf|leaves]]//​). Typically, the //​[[CL:​Glossary:​leaf|leaves]]// represent data while the branches establish some relationship among that data. 
-  * 2. in general, any recursive data structure that has some notion of "​branches"​ and //​[[CL:​Glossary:​leaves]]//​.+  * 2. in general, any //​[[CL:​Glossary:​recursion|recursive]]// data structure that has some notion of "​branches"​ and //​[[CL:​Glossary:​leaf|leaves]]//.
  
 ===tree structure=== ===tree structure===
 //n.// (of a //​[[CL:​Glossary:​tree|tree<​sub>​1</​sub>​]]//​) //n.// (of a //​[[CL:​Glossary:​tree|tree<​sub>​1</​sub>​]]//​)
-  * the set of //​[[CL:​Glossary:​cons|conses]]//​ that make up the //​[[CL:​Glossary:​tree]]//​. Note that while the //​[[CL:​Glossary:​car|car<​sub>​1b</​sub>​]]//​ component of each such //​[[CL:​Glossary:​cons]]//​ is part of the //​[[CL:​Glossary:​tree structure]]//,​ the //​[[CL:​Glossary:​object|objects]]//​ that are the //​[[CL:​Glossary:​cars|cars<​sub>​2</​sub>​]]//​ of each //​[[CL:​Glossary:​cons]]//​ in the //​[[CL:​Glossary:​tree]]//​ are not themselves part of its //​[[CL:​Glossary:​tree structure]]//​ unless they are also //​[[CL:​Glossary:​cons|conses]]//​.+  * the set of //​[[CL:​Glossary:​cons|conses]]//​ that make up the //​[[CL:​Glossary:​tree]]//​. Note that while the //​[[CL:​Glossary:​car|car<​sub>​1b</​sub>​]]//​ component of each such //​[[CL:​Glossary:​cons]]//​ is part of the //​[[CL:​Glossary:​tree structure]]//,​ the //​[[CL:​Glossary:​object|objects]]//​ that are the //​[[CL:​Glossary:​car|cars<​sub>​2</​sub>​]]//​ of each //​[[CL:​Glossary:​cons]]//​ in the //​[[CL:​Glossary:​tree]]//​ are not themselves part of its //​[[CL:​Glossary:​tree structure]]//​ unless they are also //​[[CL:​Glossary:​cons|conses]]//​.
  
 ===true=== ===true===
Line 2894: Line 2905:
  
 ===type expand=== ===type expand===
-//n.// +//v.// 
-  * to fully expand a //​[[CL:​Glossary:​type specifier]]//,​ removing any references to //​[[CL:​Glossary:​derived types]]//. (Common Lisp provides no program interface to cause this to occur, but the semantics of Common Lisp are such that every //​[[CL:​Glossary:​implementation]]//​ must be able to do this internally, and some situations involving //​[[CL:​Glossary:​type specifiers]]//​ are most easily described in terms of a fully expanded //​[[CL:​Glossary:​type specifier]]//​.)+  * to fully expand a //​[[CL:​Glossary:​type specifier]]//,​ removing any references to //​[[CL:​Glossary:​derived type|derived types]]//. (Common Lisp provides no program interface to cause this to occur, but the semantics of Common Lisp are such that every //​[[CL:​Glossary:​implementation]]//​ must be able to do this internally, and some situations involving //​[[CL:​Glossary:​type specifier|type specifiers]]//​ are most easily described in terms of a fully expanded //​[[CL:​Glossary:​type specifier]]//​.)
  
 ===type specifier=== ===type specifier===
Line 2909: Line 2920:
 ===unbound variable=== ===unbound variable===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​name]]//​ that is syntactically plausible as the name of a //​[[CL:​Glossary:​variable]]//​ but which is not //​[[CL:​Glossary:​bound]]//​ in the //​[[CL:​Glossary:​variable]]//​ //​[[CL:​Glossary:​namespace]]//​.+  * a //​[[CL:​Glossary:​name]]//​ that is syntactically plausible as the name of a //​[[CL:​Glossary:​variable]]//​ but which is not //​[[CL:​Glossary:​bound]]//​ in the //​[[CL:​Glossary:​variable]]//​ //​[[CL:​Glossary:​name|namespace]]//​.
  
 ===undefined function=== ===undefined function===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​name]]//​ that is syntactically plausible as the name of a //​[[CL:​Glossary:​function]]//​ but which is not //​[[CL:​Glossary:​bound]]//​ in the //​[[CL:​Glossary:​function]]//​ //​[[CL:​Glossary:​namespace]]//​.+  * a //​[[CL:​Glossary:​name]]//​ that is syntactically plausible as the name of a //​[[CL:​Glossary:​function]]//​ but which is not //​[[CL:​Glossary:​bound]]//​ in the //​[[CL:​Glossary:​function]]//​ //​[[CL:​Glossary:​name|namespace]]//​.
  
 ===unintern=== ===unintern===
Line 2929: Line 2940:
 ===unqualified method=== ===unqualified method===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​method]]//​ with no //​[[CL:​Glossary:​qualifiers]]//​.+  * a //​[[CL:​Glossary:​method]]//​ with no //​[[CL:​Glossary:​qualifier|qualifiers]]//​.
  
 ===unregistered package=== ===unregistered package===
Line 2962: Line 2973:
 ===use=== ===use===
 //v.t.// (a //​[[CL:​Glossary:​package]]//​ //​P<​sub>​1</​sub>//​) //v.t.// (a //​[[CL:​Glossary:​package]]//​ //​P<​sub>​1</​sub>//​)
-  * to //​[[CL:​Glossary:​inherit]]//​ the //​[[CL:​Glossary:​external symbols]]// of //​P<​sub>​1</​sub>//​. (If a package //​P<​sub>​2</​sub>//​ uses //​P<​sub>​1</​sub>//,​ the //​[[CL:​Glossary:​external symbols]]// of //​P<​sub>​1</​sub>//​ become //​[[CL:​Glossary:​internal symbols]]// of //​P<​sub>​2</​sub>//​ unless they are explicitly //​[[CL:​Glossary:​exported]]//​.) "The package **''​cl-user''​** uses the package **''​cl''​**."​+  * to //​[[CL:​Glossary:​inherit]]//​ the //​[[CL:​Glossary:​external symbol|external symbols]]// of //​P<​sub>​1</​sub>//​. (If a package //​P<​sub>​2</​sub>//​ uses //​P<​sub>​1</​sub>//,​ the //​[[CL:​Glossary:​external symbol|external symbols]]// of //​P<​sub>​1</​sub>//​ become //​[[CL:​Glossary:​internal symbol|internal symbols]]// of //​P<​sub>​2</​sub>//​ unless they are explicitly //​[[CL:​Glossary:​exported]]//​.) "The package **''​cl-user''​** uses the package **''​cl''​**."​
  
 ===use list=== ===use list===
 //n.// (of a //​[[CL:​Glossary:​package]]//​) //n.// (of a //​[[CL:​Glossary:​package]]//​)
-  * a (possibly empty) //​[[CL:​Glossary:​list]]//​ associated with each //​[[CL:​Glossary:​package]]//​ which determines what other //​[[CL:​Glossary:​packages]]//​ are currently being //​[[CL:​Glossary:​used]]//​ by that //​[[CL:​Glossary:​package]]//​.+  * a (possibly empty) //​[[CL:​Glossary:​list]]//​ associated with each //​[[CL:​Glossary:​package]]//​ which determines what other //​[[CL:​Glossary:​package|packages]]//​ are currently being //​[[CL:​Glossary:​use|used]]// by that //​[[CL:​Glossary:​package]]//​.
  
 ===user=== ===user===
Line 2981: Line 2992:
 ===valid array index=== ===valid array index===
 //n.// (of an //​[[CL:​Glossary:​array]]//​) //n.// (of an //​[[CL:​Glossary:​array]]//​)
-  * a //​[[CL:​Glossary:​fixnum]]//​ suitable for use as one of possibly several indices needed to name an //​[[CL:​Glossary:​element]]//​ of the //​[[CL:​Glossary:​array]]//​ according to a multi-dimensional Cartesian coordinate system. Such a //​[[CL:​Glossary:​fixnum]]//​ must be greater than or equal to zero, and must be less than the corresponding //​[[CL:​Glossary:​dimension|dimension<​sub>​1</​sub>​]]//​ of the //​[[CL:​Glossary:​array]]//​. (Unless otherwise explicitly specified, the phrase "a //​[[CL:​Glossary:​list]]//​ of //​[[CL:​Glossary:​valid array indices]]//"​ further implies that the //​[[CL:​Glossary:​length]]//​ of the //​[[CL:​Glossary:​list]]//​ must be the same as the //​[[CL:​Glossary:​rank]]//​ of the //​[[CL:​Glossary:​array]]//​.) "For a ''​2''​ by ''​3''​ array, valid array indices for the first dimension are ''​0''​ and ''​1'',​ and valid array indices for the second dimension are ''​0'',​ ''​1''​ and ''​2''​."​+  * a //​[[CL:​Glossary:​fixnum]]//​ suitable for use as one of possibly several indices needed to name an //​[[CL:​Glossary:​element]]//​ of the //​[[CL:​Glossary:​array]]//​ according to a multi-dimensional Cartesian coordinate system. Such a //​[[CL:​Glossary:​fixnum]]//​ must be greater than or equal to zero, and must be less than the corresponding //​[[CL:​Glossary:​dimension|dimension<​sub>​1</​sub>​]]//​ of the //​[[CL:​Glossary:​array]]//​. (Unless otherwise explicitly specified, the phrase "a //​[[CL:​Glossary:​list]]//​ of //​[[CL:​Glossary:​valid array index|valid array indices]]//"​ further implies that the //​[[CL:​Glossary:​length]]//​ of the //​[[CL:​Glossary:​list]]//​ must be the same as the //​[[CL:​Glossary:​rank]]//​ of the //​[[CL:​Glossary:​array]]//​.) "For a ''​2''​ by ''​3''​ array, valid array indices for the first dimension are ''​0''​ and ''​1'',​ and valid array indices for the second dimension are ''​0'',​ ''​1''​ and ''​2''​."​
 \issue{ARRAY-DIMENSION-LIMIT-IMPLICATIONS:​ALL-FIXNUM} \issue{ARRAY-DIMENSION-LIMIT-IMPLICATIONS:​ALL-FIXNUM}
  
 ===valid array row-major index=== ===valid array row-major index===
-//n.// (of an //​[[CL:​Glossary:​array]]//,​ which might have any number of //​[[CL:​Glossary:​dimension|dimensions|dimensions<​sub>​2</​sub>​]]//​)+//n.// (of an //​[[CL:​Glossary:​array]]//,​ which might have any number of //​[[CL:​Glossary:​dimension|dimensions<​sub>​2</​sub>​]]//​)
   * a single //​[[CL:​Glossary:​fixnum]]//​ suitable for use in naming any //​[[CL:​Glossary:​element]]//​ of the //​[[CL:​Glossary:​array]]//,​ by viewing the array'​s storage as a linear series of //​[[CL:​Glossary:​element|elements]]//​ in row-major order. Such a //​[[CL:​Glossary:​fixnum]]//​ must be greater than or equal to zero, and less than the //​[[CL:​Glossary:​array total size]]// of the //​[[CL:​Glossary:​array]]//​.   * a single //​[[CL:​Glossary:​fixnum]]//​ suitable for use in naming any //​[[CL:​Glossary:​element]]//​ of the //​[[CL:​Glossary:​array]]//,​ by viewing the array'​s storage as a linear series of //​[[CL:​Glossary:​element|elements]]//​ in row-major order. Such a //​[[CL:​Glossary:​fixnum]]//​ must be greater than or equal to zero, and less than the //​[[CL:​Glossary:​array total size]]// of the //​[[CL:​Glossary:​array]]//​.
 \issue{ARRAY-DIMENSION-LIMIT-IMPLICATIONS:​ALL-FIXNUM} \issue{ARRAY-DIMENSION-LIMIT-IMPLICATIONS:​ALL-FIXNUM}
Line 3005: Line 3016:
 ===valid pathname directory=== ===valid pathname directory===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​string]]//,​ a //​[[CL:​Glossary:​list]]//​ of //​[[CL:​Glossary:​strings]]//,​ **[[CL:​Constant Variables:​nil]]**,​ **'':​wild''​**,​ **'':​unspecific''​**,​ or some other //​[[CL:​Glossary:​object]]//​ defined by the //​[[CL:​Glossary:​implementation]]//​ to be a //​[[CL:​Glossary:​valid directory component]]//.+  * a //​[[CL:​Glossary:​string]]//,​ a //​[[CL:​Glossary:​list]]//​ of //​[[CL:​Glossary:​string|strings]]//,​ **[[CL:​Constant Variables:​nil]]**,​ **'':​wild''​**,​ **'':​unspecific''​**,​ or some other //​[[CL:​Glossary:​object]]//​ defined by the //​[[CL:​Glossary:​implementation]]//​ to be a valid directory component. \Seeref\PathnameDirectoryComponent.
 \issue{PATHNAME-SUBDIRECTORY-LIST:​NEW-REPRESENTATION} \issue{PATHNAME-SUBDIRECTORY-LIST:​NEW-REPRESENTATION}
  
Line 3028: Line 3039:
 ===valid physical pathname host=== ===valid physical pathname host===
 //n.// //n.//
-  * any of a //​[[CL:​Glossary:​string]]//,​ a //​[[CL:​Glossary:​list]]//​ of //​[[CL:​Glossary:​strings]]//,​ or the symbol **'':​unspecific''​**,​ that is recognized by the implementation as the name of a host.+  * any of a //​[[CL:​Glossary:​string]]//,​ a //​[[CL:​Glossary:​list]]//​ of //​[[CL:​Glossary:​string|strings]]//,​ or the symbol **'':​unspecific''​**,​ that is recognized by the implementation as the name of a host.
  
 ===valid sequence index=== ===valid sequence index===
Line 3044: Line 3055:
 ===value cell=== ===value cell===
 //n.// //Trad.// (of a //​[[CL:​Glossary:​symbol]]//​) //n.// //Trad.// (of a //​[[CL:​Glossary:​symbol]]//​)
-  * the //​[[CL:​Glossary:​place]]//​ which holds the //​[[CL:​Glossary:​value]]//,​ if any, of the //​[[CL:​Glossary:​dynamic variable]]//​ named by that //​[[CL:​Glossary:​symbol]]//,​ and which is //​[[CL:​Glossary:​accessed]]//​ by **[[CL:​Functions:​symbol-value]]**. See //​[[CL:​Glossary:​cell]]//​.+  * the //​[[CL:​Glossary:​place]]//​ which holds the //​[[CL:​Glossary:​value]]//,​ if any, of the //​[[CL:​Glossary:​dynamic variable]]//​ named by that //​[[CL:​Glossary:​symbol]]//,​ and which is //​[[CL:​Glossary:​access|accessed]]//​ by **[[CL:​Functions:​symbol-value]]**. See //​[[CL:​Glossary:​cell]]//​.
  
 ===variable=== ===variable===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​binding]]//​ in the "​variable"​ //​[[CL:​Glossary:​namespace]]//​. \Seesection\SymbolsAsForms.+  * a //​[[CL:​Glossary:​binding]]//​ in the "​variable"​ //​[[CL:​Glossary:​name|namespace]]//​. \Seesection\SymbolsAsForms.
  
 ===vector=== ===vector===
Line 3070: Line 3081:
 ===wild=== ===wild===
 //adj.// //adj.//
-  * 1. (of a //​[[CL:​Glossary:​namestring]]//​) using an //​[[CL:​Glossary:​implementation-defined]]//​ syntax for naming files, which might "​match"​ any of possibly several possible //​[[CL:​Glossary:​filenames]]//,​ and which can therefore be used to refer to the aggregate of the //​[[CL:​Glossary:​files]]//​ named by those //​[[CL:​Glossary:​filenames]]//​. +  * 1. (of a //​[[CL:​Glossary:​name|namestring]]//​) using an //​[[CL:​Glossary:​implementation-defined]]//​ syntax for naming files, which might "​match"​ any of possibly several possible //​[[CL:​Glossary:​filename|filenames]]//,​ and which can therefore be used to refer to the aggregate of the //​[[CL:​Glossary:​file|files]]// named by those //​[[CL:​Glossary:​filename|filenames]]//​. 
-  * 2. (of a //​[[CL:​Glossary:​pathname]]//​) a structured representation of a name which might "​match"​ any of possibly several //​[[CL:​Glossary:​pathnames]]//,​ and which can therefore be used to refer to the aggregate of the //​[[CL:​Glossary:​files]]//​ named by those //​[[CL:​Glossary:​pathnames]]//​. The set of //​[[CL:​Glossary:​wild]]//​ //​[[CL:​Glossary:​pathnames]]//​ includes, but is not restricted to, //​[[CL:​Glossary:​pathnames]]//​ which have a component which is **'':​wild''​**,​ or which have a directory component which contains **'':​wild''​** or **'':​wild-inferors''​**. See **[[CL:​Functions:​wild-pathname-p]]**.+  * 2. (of a //​[[CL:​Glossary:​pathname]]//​) a structured representation of a name which might "​match"​ any of possibly several //​[[CL:​Glossary:​pathname|pathnames]]//,​ and which can therefore be used to refer to the aggregate of the //​[[CL:​Glossary:​file|files]]// named by those //​[[CL:​Glossary:​pathname|pathnames]]//​. The set of //​[[CL:​Glossary:​wild]]//​ //​[[CL:​Glossary:​pathname|pathnames]]//​ includes, but is not restricted to, //​[[CL:​Glossary:​pathname|pathnames]]//​ which have a component which is **'':​wild''​**,​ or which have a directory component which contains **'':​wild''​** or **'':​wild-inferors''​**. See **[[CL:​Functions:​wild-pathname-p]]**.
  
 ===write=== ===write===
Line 3081: Line 3092:
 ===writer=== ===writer===
 //n.// //n.//
-  * a //​[[CL:​Glossary:​function]]//​ that //​[[CL:​Glossary:​writes|writes<​sub>​1</​sub>​]]//​ a //​[[CL:​Glossary:​variable]]//​ or //​[[CL:​Glossary:​slot]]//​.+  * a //​[[CL:​Glossary:​function]]//​ that //​[[CL:​Glossary:​write|writes<​sub>​1</​sub>​]]//​ a //​[[CL:​Glossary:​variable]]//​ or //​[[CL:​Glossary:​slot]]//​.
  
 =====Y===== =====Y=====