% -*- Mode: TeX -*- %%%% ===== References ===== %%% Books \def\CLtL{{\it Common Lisp: The Language\/}} \def\CLtLTwo{{\it Common Lisp: The Language, Second Edition\/}} \def\RandomHouseDictionary{{\it The Random House Dictionary of the English Language, Second Edition, Unabridged\/}} \def\WebstersDictionary{{\it Webster's Third New International Dictionary the English Language, Unabridged\/}} \def\CondSysPaper{{\it Exceptional Situations in Lisp\/}} \def\GabrielBenchmarks{{\it Performance and Evaluation of Lisp Programs\/}} \def\KnuthVolThree{{\it The Art of Computer Programming, Volume 3\/}} \def\MetaObjectProtocol{{\it The Art of the Metaobject Protocol\/}} \def\AnatomyOfLisp{{\it The Anatomy of Lisp\/}} \def\FlavorsPaper{{\it Flavors: A Non-Hierarchical Approach to Object-Oriented Programming\/}} \def\LispOnePointFive{{\it Lisp 1.5 Programmer's Manual\/}} \def\Moonual{{\it Maclisp Reference Manual, Revision~0\/}} \def\Pitmanual{{\it The Revised Maclisp Manual\/}} \def\InterlispManual{{\it Interlisp Reference Manual\/}} \def\Chinual{{\it Lisp Machine Manual\/}} \def\SmalltalkBook{{\it Smalltalk-80: The Language and its Implementation\/}} \def\XPPaper{{\it XP: A Common Lisp Pretty Printing System\/}} %%% Standards \def\IEEEFloatingPoint{{\it IEEE Standard for Binary Floating-Point Arithmetic\/}} \def\IEEEScheme{{\it IEEE Standard for the Scheme Programming Language\/}} \def\ISOChars{{\rm ISO 6937/2}} %%% Papers %This one should be used like % ``{\PrincipalValues}'' % or ``{\PrincipalValues},'' % or ``{\PrincipalValues}.'' \def\PrincipalValues{Principal Values and Branch Cuts in Complex APL} \def\RevisedCubedScheme{Revised$^3$ Report on the Algorithmic Language Scheme} \def\StandardLispReport{Standard LISP Report} \def\NILReport{NIL---A Perspective} \def\SOneCLPaper{S-1 Common Lisp Implementation} \def\CLOSPaper{Common Lisp Object System Specification} %%%% ===== Languages, Operating Systems, etc. ===== \def\clisp{{\rm Common Lisp}}%Use in middle of sentence. \def\Lisp{{\rm Lisp}} \def\maclisp{{\rm MacLisp}} \def\apl{{\rm APL}} \def\lmlisp{{\rm ZetaLisp}} \def\scheme{{\rm Scheme}} \def\interlisp{{\rm InterLisp}} \def\slisp{{\rm Spice Lisp}} \def\newlisp{{\rm Nil}} \def\sOnelisp{{\rm S-1 Common Lisp}} \def\fortran{{\rm Fortran}} \def\stdlisp{{\rm Standard Lisp}} \def\psl{{\rm Portable Standard Lisp}} \def\Unix{{\rm Unix}} \def\algol{{\tt Algol}} \def\TopsTwenty{{\tt TOPS-20}} %%%% ===== Important names ===== %\def\form{\term{form}} % No longer used. -kmp 7-Feb-92 \def\t{\misc{t}} \def\nil{\misc{nil}} \def\empty{{\tt ()}} \def\allowotherkeys{{\keyword \&allow-other-keys}} \def\aux{{\keyword \&aux}} %\def\body {\tt\&body} \def\body{{\keyword \&body}} \def\environment{{\keyword \&environment}} %\def\key #1{\tt\&key #1} \def\key{{\keyword \&key}} %\def\opt {\tt\&optional} \def\opt{{\keyword \&optional}} \def\optional{{\keyword \&optional}} %\def\rest {\tt\&rest} \def\rest{{\keyword \&rest}} \def\whole{{\keyword \&whole}} %%%% ===== General Phrases ===== \def\etc.{\i{etc.}} \def\ie {\i{i.e.}, } \def\eg {\i{e.g.}, } %%%% ===== Domain-specific Phrases ===== \def\defmethod{defmethod} %\def\MOP:{Meta-Object Protocol:} % No longer used. -kmp 6-Aug-91 \def\CLOS{object system} \def\OS{object system} \def\SETFof#1{\macref{setf} of \misc{#1}} \def\objectoftype #1{\term{object} of \term{type} \f{#1}} \def\objectsoftype #1{\term{objects} of \term{type} \f{#1}} \def\Objectsoftype #1{\term{Objects} of \term{type} \f{#1}} \def\oftype #1{of \term{type} \typeref{#1}} \def\ofclass #1{of \term{class} \typeref{#1}} \def\oftypes #1{of \term{type} \typeref{#1} or a \term{subtype} of \term{type} \typeref{#1}} \def\ofmetaclass #1{of \term{metaclass} \typeref{#1}} \def\thetype #1{the \term{type} \typeref{#1}} \def\Thetype #1{The \term{type} \typeref{#1}} \def\thetypes #1{the \term{types} \typeref{#1}} \def\Thetypes #1{The \term{types} \typeref{#1}} \def\theclass #1{the \term{class} \typeref{#1}} \def\Theclass #1{The \term{class} \typeref{#1}} \def\thevariable #1{the \term{variable} \varref{#1}} \def\Thevariable #1{The \term{variable} \varref{#1}} \def\thevariables #1{the \term{variables} \varref{#1}} \def\Thevariables #1{The \term{variables} \varref{#1}} \def\themacro #1{the \funref{#1} \term{macro}} \def\Themacro #1{The \funref{#1} \term{macro}} \def\theinitkeyarg#1{the \kwd{#1} initialization argument} \def\Theinitkeyarg#1{The \kwd{#1} initialization argument} \def\theinitkeyargs#1{the initialization arguments named \kwd{#1}} \def\Theinitkeyargs#1{The initialization argument named \kwd{#1}} \def\thekeyarg#1{the \kwd{#1} \term{argument}} \def\Thekeyarg#1{The \kwd{#1} \term{argument}} \def\thefunction #1{the \term{function} \funref{#1}} \def\Thefunction #1{The \term{function} \funref{#1}} \def\thefunctions #1{the \term{functions} \funref{#1}} \def\Thefunctions #1{The \term{functions} \funref{#1}} \def\thespecform #1{the \specref{#1} \term{special form}} \def\Thespecform #1{The \specref{#1} \term{special form}} \def\thespecforms #1{the \specref{#1} \term{special forms}} \def\Thespecforms #1{The \specref{#1} \term{special forms}} \def\thespecop #1{the \specref{#1} \term{special operator}} \def\Thespecop #1{The \specref{#1} \term{special operator}} \def\Thespecforms #1{The \specref{#1} \term{special forms}} \def\theGF #1{the \term{generic function} \funref{#1}} \def\TheGF #1{The \term{generic function} \funref{#1}} \def\subtypeof #1{\term{subtype} of \term{type} \typeref{#1}} \def\subtypesof #1{\term{subtypes} of \term{type} \typeref{#1}} \def\Subtypesof #1{\term{Subtypes} of \term{type} \typeref{#1}} \def\supertypeof #1{\term{supertype} of \term{type} \typeref{#1}} \def\supertypesof #1{\term{supertypes} of \term{type} \typeref{#1}} \def\Supertypesof #1{\term{Supertypes} of \term{type} \typeref{#1}} \def\subclassof #1{\term{subclass} of \term{class} \typeref{#1}} \def\subclassesof #1{\term{subclasses} of \term{class} \typeref{#1}} \def\Subclassesof #1{\term{Subclasses} of \term{class} \typeref{#1}} \def\superclassof #1{\term{superclass} of \term{class} \typeref{#1}} \def\superclassesof #1{\term{superclasses} of \term{class} \typeref{#1}} \def\Superclassesof #1{\term{Superclasses} of \term{class} \typeref{#1}} \def\therestart #1{the \misc{#1} \term{restart}} \def\Therestart #1{The \misc{#1} \term{restart}} \def\thepackage #1{the \packref{#1} \term{package}} \def\Thepackage #1{The \packref{#1} \term{package}} \def\instofclass #1{\term{instance} of the \term{class} \typeref{#1}} \def\instsofclass #1{\term{instances} of the \term{class} \typeref{#1}} \def\Instsofclass #1{\term{Instances} of the \term{class} \typeref{#1}} % \def\instanceofclasses #1{\term{instance} of the \term{class} \typeref{#1} % or its \term{subclasses}} % \def\instancesofclasses #1{\term{instances} of the \term{class} \typeref{#1} % or its \term{subclasses}} % \def\Instancesofclasses #1{\term{Instances} of the \term{class} \typeref{#1} % or its \term{subclasses}} \def\instanceofclasses #1{\term{generalized instance} of \theclass{#1}} \def\instancesofclasses #1{\term{generalized instances} of \theclass{#1}} \def\Instancesofclasses #1{\term{Generalized instances} of \theclass{#1}} \def\Theloopconstruct #1{The \macref{loop} \loopref{#1} construct} \def\theloopconstruct #1{the \macref{loop} \loopref{#1} construct} \def\Theloopkeyword #1{The \macref{loop} \loopref{#1} keyword} \def\theloopkeyword #1{the \macref{loop} \loopref{#1} keyword} \def\thevalueof #1{the \term{value} of \misc{#1}} \def\Thevalueof #1{The \term{value} of \misc{#1}} \def\thevaluesof #1{the \term{values} of \misc{#1}} \def\Thevaluesof #1{The \term{values} of \misc{#1}} \def\formatOp#1{{\dummy}\hbox{{\tt ~#1}}} \def\formatdirective#1{{\dummy}\hbox{{\tt ~#1}} format directive} \def\NamedTypePredicate#1#2#3{\funref{#1} returns \term{true} if \param{#2} is \oftype{#3}; otherwise, it returns \term{false}.} \def\TypePredicate#1#2{Returns \term{true} if \param{#1} is \oftype{#2}; otherwise, returns \term{false}.} \def\NamedPredicate#1#2#3{\funref{#1} returns \term{true} if \param{#2} is #3; otherwise, returns \term{false}.} \def\Predicate#1#2{Returns \term{true} if \param{#1} is #2; otherwise, returns \term{false}.} \def\StrictPredicate#1#2{Returns \misc{t} if \param{#1} is #2; otherwise, returns \misc{nil}.} \def\Shouldcheckplus#1{Should signal an error \oftype{program-error} if at least one \param{#1} is not supplied.} \def\Checktype#1#2{Signals an error \oftype{type-error} if \param{#1} is not #2.} \def\Checktypes#1#2{Signals an error \oftype{type-error} if #1 are not #2.} \def\Checknottype#1#2{Signals an error \oftype{type-error} if \param{#1} is #2.} \def\Checknottypes#1#2{Signals an error \oftype{type-error} if #1 are #2.} \def\Checkanytype#1#2{Signals an error \oftype{type-error} if any \param{#1} is not #2.} \def\Shouldchecktype#1#2{Should signal an error \oftype{type-error} if \param{#1} is not #2.} \def\Shouldcheckanytype#1#2{Should signal an error \oftype{type-error} if any \param{#1} is not #2.} \def\Lazychecktype#1#2{Should be prepared to signal an error \oftype{type-error} if \param{#1} is not #2.} \def\Lazychecktypes#1#2{Should be prepared to signal an error \oftype{type-error} if #1 are not #2.} \def\Lazychecknottype#1#2{Should be prepared to signal an error \oftype{type-error} if \param{#1} is #2.} \def\Lazycheckanytype#1#2{Should be prepared to signal an error \oftype{type-error} if any \param{#1} is not #2.} \def\Lazycheckanynottype#1#2{Should be prepared to signal an error \oftype{type-error} if any \param{#1} is #2.} \def\checktype#1#2{signals an error \oftype{type-error} if \param{#1} is not #2.} \def\checkanytype#1#2{signals an error \oftype{type-error} if any \param{#1} is not #2.} \def\shouldchecktype#1#2{should signal an error \oftype{type-error} if \param{#1} is not #2.} \def\shouldcheckanytype#1#2{should signal an error \oftype{type-error} if any \param{#1} is not #2.} \def\lazychecktype#1#2{should be prepared to signal an error \oftype{type-error} if \param{#1} is not #2.} \def\lazycheckanytype#1#2{should be prepared to signal an error \oftype{type-error} if any \param{#1} is not #2.} \def\Default#1{The default is #1.} \def\DefaultFor#1#2{The default for #1 is #2.} \def\DefaultIn#1#2{The default in #1 is #2.} \def\Defaults#1#2{The defaults for #1 are #2, respectively.} \def\DefaultEach#1#2{The defaults for each of #1 is #2.} \def\DefaultsIn#1#2#3{The defaults for #2 in #1 are #3, respectively.} \def\HairyDefault{Complicated defaulting behavior; see below} \def\MentionMetaObjects#1#2{\issue{SLOT-VALUE-METACLASSES:LESS-MINIMAL} Although no \term{implementation} is required to do so, implementors are strongly encouraged to implement \thefunction{#1} using the \term{function} \f{#2} described in the \term{Metaobject Protocol}. \endissue{SLOT-VALUE-METACLASSES:LESS-MINIMAL}} \def\symbolnamedesignator{string designator} \def\symbolnamedesignators{string designators} \def\packagenamedesignator{string designator} \def\packagenamedesignators{string designators}