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 16:00]
127.0.0.1 external edit
cl:glossary [2019/12/16 13:00] (current)
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 464: Line 464:
 ===coalesce=== ===coalesce===
 //v.t.// //v.t.//
-  * (//​[[CL:​Glossary:​literal object|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===
Line 517: Line 517:
 ===compiled file=== ===compiled file===
 //n.// //n.//
-  * 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:​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:​compile|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 value|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 1048: 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 1073: 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 1101: 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 1119: 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:​name|namespace]]//​. (The //​[[CL:​Glossary:​name|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 1129: 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 1141: 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:​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]]//​.+  * 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:​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 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:​bytes]]//​ in the //​[[CL:​Glossary:​stream]]//​. For //​[[CL:​Glossary:​character]]//​ //​[[CL:​Glossary:​stream|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 1157: 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:​name|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 1182: 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 1200: 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 1215: 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 1228: 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 1246: 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 1258: 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 1290: 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 1361: 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 1367: 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 1387: Line 1387:
 ===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 1403: 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 1421: 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 1505: 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 1518: Line 1518:
 ===interpreted function=== ===interpreted function===
 //n.// //n.//
-  * 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 functions]]//,​ but a //​[[CL:​Glossary:​conforming program]]// must not assume that all //​[[CL:​Glossary:​function|functions]]//​ are //​[[CL:​Glossary:​compiled function|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 1584: 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 1625: 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:​name|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 1637: 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 1645: 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 1662: 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 1674: Line 1674:
 ===load time=== ===load time===
 //n.// //n.//
-  * the duration of time that the loader is //​[[CL:​Glossary:​loading]]//​ //​[[CL:​Glossary:​compile|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:​compile|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 1690: 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 1702: 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 1734: 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 1751: 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 1763: 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"​).
  
Line 1782: Line 1782:
 //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 1790: 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 1837: Line 1837:
 ===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 1866: 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:​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 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 1947: 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 1958: 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 1989: 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 2001: 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:​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:​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 2012: 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 2055: 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 2072: 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 2088: 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 2112: 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 2121: 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 2178: 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:​name|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 2186: 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 2194: 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 2212: 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 2237: 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 2273: 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 2281: 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 2302: 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 2322: 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 2350: Line 2355:
 ===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 2364: 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 2384: 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 2417: 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 2446: 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:​subform|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 2470: 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===
Line 2502: 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 2535: 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 2578: 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:​compile|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 2611: 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 2639: 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 2651: 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 2679: 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 2689: 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 2701: 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 2738: 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 2758: 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 2774: 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 2821: 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 stream|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 2849: 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 2858: 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:​subform|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 2866: 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:​leaf|leaves]]//​). Typically, the //​[[CL:​Glossary:​leaf|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:​leaf|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 2901: Line 2906:
 ===type expand=== ===type expand===
 //v.// //v.//
-  * 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 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 2935: 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 2968: 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 2987: 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 3011: 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 3034: 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 3050: 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===
Line 3076: Line 3081:
 ===wild=== ===wild===
 //adj.// //adj.//
-  * 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:​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 3087: 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=====