concept-glossary.tex 223 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091
  1. % -*- Mode: TeX -*-
  2. % !!! Moon wonders if "denote" is the right verb for talking about what "designators"
  3. % refer to.
  4. %
  5. % !!! Moon thinks the bottom header gets too close to the running text in this chapter.
  6. % It even overstrikes on a few pages (e.g., p26-28 of draft 10.156)
  7. %
  8. % Barmar thinks we should define reference terms for expressions like "left & right".
  9. %
  10. % Moon sez: Most occurrences of "which" in the glossary should be "that" in correct English.
  11. % I should review this later. -kmp
  12. %
  13. % Think about unifying terms: "type lattice", "type hierarchy", "type hierarchy lattice",
  14. % "directed acyclic graph".
  15. % RPG says "hierarchy" or "dag" are ok, but not "lattice".
  16. % Allan Wechsler (ACW@Symbolics.COM) says:
  17. % Regarding DAGs vs. lattices: I don't know the basis of Dick Gabriel's
  18. % objection to the latter term. I think that it's quite clear
  19. % mathematically that "lattice" is correct and "directed acyclic graph" is
  20. % incorrect, but Gabriel's objection may not be mathematical. Details on
  21. % request. I'm using the definitions from the ``Encyclopedic Dictionary of
  22. % Mathematics.''
  23. %
  24. % Think about these terms, which are commonly used without definition:
  25. % "qualifier pattern" - something that gets matched against in method comb.
  26. % "type specifier list" - the list form of a type specifier
  27. % "default value"
  28. % "optional parameter", ...
  29. %
  30. % Think about these terms, which are common concepts in search of a name, to cut
  31. % down on wasted verbiage at multiple places in the text.
  32. % "stringname" - a string or a symbol, which is taken the name of a string.
  33. % if a symbol, then then it is treated as if its name had been supplied.
  34. %
  35. % Sometime search for braces immediately followed by an alpha char
  36. % ("{...}s", "{...}es", "{...}ing", "{...}ed", etc.) because these are often
  37. % clues to needed glossary words.
  38. %
  39. % KMP: Maybe a term "user symbol" being defined as
  40. % "a symbol that is not accessible in the common-lisp package".
  41. % (I find it cumbersome to write a param description that says
  42. % a symbol that is not in the common-lisp package.
  43. % This comes up in a number of places.)
  44. % Barmar: That sounds like a reasonable term and definition.
  45. % KMP: Issue--some places might need a restriction on keywords, too, but that should
  46. % probably not be piggy-backed on the "user symbol" term.
  47. \def\gentry#1{\itemitem{}\b{#1}\idxterm{#1}}
  48. \def\gexample#1{{``#1''}}
  49. \def\indextab#1{\endlist\indextabnote{#1}\beginlist}
  50. \def\firstindextab#1{\indextabnote{#1}\beginlist}
  51. \def\indextabnote#1{\goodbreak\item{\b{#1}}\penalty20000}
  52. \def\Noun{\i{n.}}
  53. \def\Verb{\i{v.}}
  54. \def\TransitiveVerb{\i{v.t.}}
  55. \def\Adjective{\i{adj.}}
  56. \def\Adverb{\i{adv.}}
  57. \def\ANSI{\i{ANSI}}
  58. \def\IEEE{\i{IEEE}}
  59. \def\ISO{\i{ISO}}
  60. \def\Traditional{\i{Trad.}}
  61. \def\Mathematics{\i{Math.}}
  62. \def\Idiomatic{\i{Idiom.}}
  63. \def\Computers{\i{Comp.}}
  64. %% Glossary
  65. Each entry in this glossary has the following parts:
  66. \beginlist
  67. \item{\bull} the term being defined, set in boldface.
  68. \item{\bull} optional pronunciation, enclosed in square brackets and
  69. set in boldface, as in the following example:
  70. \pronounced{\Stress{a}\stress{list}}. The pronunciation key follows
  71. \WebstersDictionary\TypographyCaveats.
  72. \item{\bull} the part or parts of speech, set in italics. If a term
  73. can be used as several parts of speech, there is a separate definition
  74. for each part of speech.
  75. \item{\bull} one or more definitions, organized as follows:
  76. \beginlist
  77. \item{--} an optional number, present if there are several
  78. definitions. Lowercase letters might also be used in cases where subdefinitions of
  79. a numbered definition are necessary.
  80. \item{--} an optional part of speech, set in italics, present if the
  81. term is one of several parts of speech.
  82. \item{--} an optional discipline, set in italics, present if the term
  83. has a standard definition being repeated. For example, ``{\Mathematics}''
  84. \item{--} an optional context, present if this definition is
  85. meaningful only in that context. For example, ``(of a \term{symbol})''.
  86. \item{--} the definition.
  87. \item{--} an optional example sentence. For example,
  88. \gexample{This is an example of an example.}
  89. \item{--} optional cross references.
  90. %%There are a lot of options, and they are all pretty self-explanatory. -kmp 11-Sep-91
  91. %A cross reference to another word uses the following form: \Seeterm{word}.
  92. %A cross reference to a section uses the following form: \Seesection\Sample.
  93. \endlist
  94. \endlist
  95. In addition, some terms have idiomatic usage in the Common Lisp
  96. community which is not shared by other communities, or which is not
  97. technically correct. Definitions labeled ``{\Idiomatic}'' represent
  98. such idiomatic usage; these definitions are sometimes followed by an
  99. explanatory note.
  100. Words in \term{this font} are words with entries in the glossary.
  101. %Word in \typeref{this font} are names of data types.
  102. Words in example sentences do not follow this convention.
  103. When an ambiguity arises, the longest matching substring has precedence.
  104. For example, ``\term{complex float}'' refers to a single glossary entry
  105. for ``\term{complex float}'' rather than the combined meaning of the
  106. glossary terms ``\term{complex}'' and ``\term{float}.''
  107. Subscript notation, as in ``\term{something}\meaning{n}'' means that
  108. the \i{n}th definition of ``\term{something}'' is intended. This
  109. notation is used only in situations where the context might be insufficient
  110. to disambiguate.
  111. The following are abbreviations used in the glossary:
  112. \tabletwo{Abbreviation}{Meaning}{
  113. \entry{\Adjective}{adjective}
  114. \entry{\Adverb}{adverb}
  115. \entry{\ANSI}{compatible with one or more ANSI standards}
  116. \entry{\Computers}{computers}
  117. \entry{\Idiomatic}{idiomatic}
  118. \entry{\IEEE}{compatible with one or more IEEE standards}
  119. \entry{\ISO}{compatible with one or more ISO standards}
  120. \entry{\Mathematics}{mathematics}
  121. \entry{\Traditional}{traditional}
  122. \entry{\Noun}{noun}
  123. \entry{\Verb}{verb}
  124. \entry{\TransitiveVerb}{transitive verb}
  125. }
  126. \beginlist
  127. \firstindextab{Non-alphabetic}
  128. \gentry{()} \pronounced{\Stress{nil}}, \Noun\
  129. an alternative notation for writing the symbol~\nil, used to emphasize
  130. the use of \term{nil} as an \term{empty list}.
  131. \indextab{A}
  132. \gentry{absolute} \Adjective\
  133. 1. (of a \term{time})
  134. representing a specific point in time.
  135. 2. (of a \term{pathname})
  136. representing a specific position in a directory hierarchy.
  137. \Seeterm{relative}.
  138. \gentry{access} \Noun, \TransitiveVerb\
  139. %\term{variable} removed since generalized reference implies it.
  140. 1. \TransitiveVerb\ (a \term{place}, or \term{array})
  141. to \term{read}\meaning{1} or \term{write}\meaning{1} the \term{value} of
  142. the \term{place}
  143. or an \term{element} of the \term{array}.
  144. 2. \Noun\ (of a \term{place})
  145. an attempt to \term{access}\meaning{1} the \term{value} of the \term{place}.
  146. % Moon: Useless entry. Adds nothing to normal English usage.
  147. % KMP: Allows usage to be italicized; also, courtesy to non-native
  148. % English speakers, who may not be as familiar with all our word forms.
  149. \gentry{accessibility} \Noun\
  150. the state of being \term{accessible}.
  151. %!!! Moon: accessible[1] and reference[2] don't seem to match up.
  152. \gentry{accessible} \Adjective\
  153. 1. (of an \term{object}) capable of being \term{referenced}.
  154. 2. (of \term{shared slots} or \term{local slots} in an \term{instance} of
  155. a \term{class}) having been defined by the \term{class}
  156. of the \term{instance} or \term{inherited} from a
  157. \term{superclass} of that \term{class}.
  158. %!!! JonL: this reader thing should be an effect, not the definition.
  159. % use "present" and "inherited".
  160. 3. (of a \term{symbol} in a \term{package})
  161. capable of being \term{referenced} without a \term{package prefix}
  162. when that \term{package} is current, regardless of whether the
  163. \term{symbol} is \term{present} in that \term{package} or is \term{inherited}.
  164. \gentry{accessor} \Noun\
  165. an \term{operator} that performs an \term{access}.
  166. \Seeterm{reader} and \term{writer}.
  167. \gentry{active} \Adjective\
  168. 1. (of a \term{handler}, a \term{restart}, or a \term{catch tag})
  169. having been \term{established} but not yet \term{disestablished}.
  170. 2. (of an \term{element} of an \term{array})
  171. having an index that is greater than or equal to zero,
  172. but less than the \term{fill pointer} (if any).
  173. For an \term{array} that has no \term{fill pointer},
  174. all \term{elements} are considered \term{active}.
  175. \gentry{actual adjustability} \Noun\ (of an \term{array})
  176. a \term{generalized boolean} that is associated with the \term{array},
  177. representing whether the \term{array} is \term{actually adjustable}.
  178. \SeetermAlso{expressed adjustability} and \funref{adjustable-array-p}.
  179. \gentry{actual argument} \Noun\ \Traditional\
  180. an \term{argument}.
  181. \gentry{actual array element type} \Noun\ (of an \term{array})
  182. the \term{type} for which the \term{array} is actually specialized,
  183. which is the \term{upgraded array element type} of
  184. the \term{expressed array element type} of the \term{array}.
  185. \Seefun{array-element-type}.
  186. \gentry{actual complex part type} \Noun\ (of a \term{complex})
  187. the \term{type} in which the real and imaginary parts of the \term{complex}
  188. are actually represented, which is the \term{upgraded complex part type} of the
  189. \term{expressed complex part type} of the \term{complex}.
  190. \gentry{actual parameter} \Noun\ \Traditional\
  191. an \term{argument}.
  192. \gentry{actually adjustable} \Adjective\ (of an \term{array})
  193. such that \funref{adjust-array} can adjust its characteristics
  194. by direct modification.
  195. A \term{conforming program} may depend on
  196. an \term{array} being \term{actually adjustable}
  197. only if either that \term{array} is known to have been \term{expressly adjustable}
  198. or if that \term{array} has been explicitly tested by \funref{adjustable-array-p}.
  199. \gentry{adjustability} \Noun\ (of an \term{array})
  200. 1. \term{expressed adjustability}.
  201. 2. \term{actual adjustability}.
  202. \gentry{adjustable} \Adjective\ (of an \term{array})
  203. 1. \term{expressly adjustable}.
  204. 2. \term{actually adjustable}.
  205. \gentry{after method} \Noun\
  206. a \term{method} having the \term{qualifier} \kwd{after}.
  207. \gentry{alist} \pronounced{\Stress{\harda}\stress{list}}, \Noun\
  208. an \term{association list}.
  209. \gentry{alphabetic} \Noun, \Adjective\
  210. %% 13.2.0 12
  211. 1. \Adjective\ (of a \term{character})
  212. being one of the \term{standard characters} \f{A} through \f{Z}
  213. or \f{a} through \f{z},
  214. or being any \term{implementation-defined} character that has \term{case},
  215. or being some other \term{graphic} \term{character}
  216. defined by the \term{implementation} to be \term{alphabetic}\meaning{1}.
  217. 2. a. \Noun\
  218. one of several possible \term{constituent traits} of a \term{character}.
  219. For details, \seesection\ConstituentChars\ and \secref\ReaderAlgorithm.
  220. b. \Adjective\ (of a \term{character})
  221. being a \term{character}
  222. that has \term{syntax type} \term{constituent} in the \term{current readtable}
  223. and that has the \term{constituent trait} \term{alphabetic}\meaning{2a}.
  224. \Seefigure\ConstituentTraitsOfStdChars.
  225. \gentry{alphanumeric} \Adjective\ (of a \term{character})
  226. %% 13.2.0 12
  227. being either an \term{alphabetic}\meaning{1} \term{character}
  228. or a \term{numeric} {character}.
  229. \gentry{ampersand} \Noun\
  230. the \term{standard character} that is called ``ampersand'' (\f{\&}).
  231. \Seefigure\StdCharsThree.
  232. \gentry{anonymous} \Adjective\
  233. 1. (of a \term{class} or \term{function}) having no \term{name}
  234. 2. (of a \term{restart}) having a \term{name} of \nil.
  235. \gentry{apparently uninterned} \Adjective\
  236. having a \term{home package} of \nil. (An \term{apparently uninterned} \term{symbol}
  237. might or might not be an \term{uninterned} \term{symbol}. \term{Uninterned symbols}
  238. have a \term{home package} of \nil, but \term{symbols} which have been \term{uninterned}
  239. from their \term{home package} also have a \term{home package} of \nil,
  240. even though they might still be \term{interned} in some other \term{package}.)
  241. %!!! Moon: Need to reconcile this entry with the following three.
  242. \gentry{applicable} \Adjective\
  243. 1. (of a \term{handler}) being an \term{applicable handler}.
  244. 2. (of a \term{method}) being an \term{applicable method}.
  245. 3. (of a \term{restart}) being an \term{applicable restart}.
  246. \gentry{applicable handler} \Noun\ (for a \term{condition} being \term{signaled})
  247. an \term{active} \term{handler} for which the associated type contains the
  248. \term{condition}.
  249. \gentry{applicable method} \Noun\ (of a \term{generic function}
  250. called with \term{arguments})
  251. a \term{method} of the \term{generic function} for which the
  252. \term{arguments} satisfy the \term{parameter specializers}
  253. of that \term{method}.
  254. % and which has not been \term{shadowed}\meaning{2}.
  255. %Moon says: ``applicableness does not take method combination into account
  256. % and shadowing is a property of method combination.''
  257. \Seesection\SelApplMeth.
  258. \issue{CONDITION-RESTARTS:PERMIT-ASSOCIATION}
  259. \gentry{applicable restart} \Noun\
  260. 1. (for a \term{condition})
  261. an \term{active} \term{handler} for which the associated test returns
  262. \term{true} when given the \term{condition} as an argument.
  263. 2. (for no particular \term{condition})
  264. an \term{active} \term{handler} for which the associated test returns
  265. \term{true} when given \nil\ as an argument.
  266. \endissue{CONDITION-RESTARTS:PERMIT-ASSOCIATION}
  267. \gentry{apply} \TransitiveVerb\ (a \term{function} to a \term{list})
  268. to \term{call} the \term{function} with arguments that are the \term{elements}
  269. of the \term{list}.
  270. \gexample{Applying the function \funref{+} to a list of integers returns
  271. the sum of the elements of that list.}
  272. \gentry{argument} \Noun\
  273. 1. (of a \term{function}) an \term{object} which is offered as data
  274. to the \term{function} when it is \term{called}.
  275. %% I wonder if we should say this. -kmp
  276. % In other literature, but not here, this is sometimes called an ``actual argument.''
  277. %
  278. % 1. (of a \term{function}) an \term{object} which is paired
  279. % with a corresponding \term{parameter} in order to provide data
  280. % flow into the function at the time it is called.
  281. % Moon says:
  282. % ``Not all arguments have corresponding parameters, when the function accepts
  283. % keyword or rest arguments. Consider \kwd{allow-other-keys}. Thus this definition
  284. % cannot be exactly correct. I don't think the definition of arguments should
  285. % have anything to do with what the function does internally to receive the
  286. % arguments.''
  287. \issue{FORMAT-STRING-ARGUMENTS:SPECIFY}
  288. 2. (of a \term{format control}) a \term{format argument}.
  289. \endissue{FORMAT-STRING-ARGUMENTS:SPECIFY}
  290. \gentry{argument evaluation order} \Noun\
  291. the order in which \term{arguments} are evaluated in a function call.
  292. \gexample{The argument evaluation order for Common Lisp is left to right.}
  293. \Seesection\Evaluation.
  294. \gentry{argument precedence order} \Noun\
  295. the order in which the \term{arguments} to a \term{generic function} are
  296. considered when sorting the \term{applicable methods} into precedence order.
  297. \gentry{around method} \Noun\
  298. a \term{method} having the \term{qualifier} \kwd{around}.
  299. \gentry{array} \Noun\
  300. an \term{object} \oftype{array}, which serves as a container for other
  301. \term{objects} arranged in a Cartesian coordinate system.
  302. \gentry{array element type} \Noun\ (of an \term{array})
  303. 1. a \term{type} associated with the \term{array},
  304. and of which all \term{elements} of the \term{array} are
  305. constrained to be members.
  306. 2. the \term{actual array element type} of the \term{array}.
  307. 3. the \term{expressed array element type} of the \term{array}.
  308. \gentry{array total size} \Noun\
  309. the total number of \term{elements} in an \term{array}, computed by taking
  310. the product of the \term{dimensions} of the \term{array}.
  311. (The size of a zero-dimensional \term{array} is therefore one.)
  312. \gentry{assign} \TransitiveVerb\ (a \term{variable})
  313. to change the \term{value} of the \term{variable} in a \term{binding}
  314. that has already been \term{established}.
  315. \Seespec{setq}.
  316. \gentry{association list} \Noun\
  317. a \term{list} of \term{conses} representing an association
  318. of \term{keys} with \term{values}, where the \term{car} of each
  319. \term{cons} is the \term{key} and the \term{cdr} is the
  320. \term{value} associated with that \term{key}.
  321. \gentry{asterisk} \Noun\
  322. the \term{standard character} that is variously called
  323. ``asterisk''
  324. or ``star'' (\f{*}).
  325. \Seefigure\StdCharsThree.
  326. \gentry{at-sign} \Noun\
  327. the \term{standard character} that is variously called
  328. ``commercial at''
  329. or ``at sign'' (\f{@}).
  330. \Seefigure\StdCharsThree.
  331. \gentry{atom} \Noun\
  332. any \term{object} that is not a \term{cons}.
  333. \gexample{A vector is an atom.}
  334. \gentry{atomic} \Adjective\
  335. being an \term{atom}.
  336. \gexample{The number 3, the symbol \f{foo}, and \nil\ are atomic.}
  337. \gentry{atomic type specifier} \Noun\
  338. a \term{type specifier} that is \term{atomic}.
  339. For every \term{atomic type specifier}, \i{x}, there is an equivalent
  340. \term{compound type specifier} with no arguments supplied, \f{(\i{x})}.
  341. \gentry{attribute} \Noun\ (of a \term{character})
  342. a program-visible aspect of the \term{character}.
  343. The only \term{standardized} \term{attribute} of a \term{character}
  344. is its \term{code}\meaning{2}, but \term{implementations} are permitted to have
  345. additional \term{implementation-defined} \term{attributes}.
  346. \Seesection\CharacterAttributes.
  347. \gexample{An implementation that support fonts
  348. might make font information an attribute of a character,
  349. while others might represent font information separately from characters.}
  350. \gentry{aux variable} \Noun\
  351. a \term{variable} that occurs in the part of a \term{lambda list}
  352. that was introduced by \keyref{aux}. Unlike all other \term{variables}
  353. introduced by a \term{lambda-list}, \term{aux variables} are not
  354. \term{parameters}.
  355. \gentry{auxiliary method} \Noun\
  356. a member of one of two sets of \term{methods}
  357. (the set of \term{primary methods} is the other)
  358. that form an exhaustive partition of the set of \term{methods}
  359. on the \term{method}'s \term{generic function}.
  360. How these sets are determined is dependent on the \term{method combination} type;
  361. \seesection\IntroToMethods.
  362. \indextab{B}
  363. \gentry{backquote} \Noun\
  364. the \term{standard character} that is variously called
  365. ``grave accent''
  366. or ``backquote'' (\f{`}).
  367. \Seefigure\StdCharsThree.
  368. \gentry{backslash} \Noun\
  369. the \term{standard character} that is variously called
  370. ``reverse solidus''
  371. or ``backslash'' (\f{\\}).
  372. \Seefigure\StdCharsThree.
  373. \gentry{base character} \Noun\
  374. a \term{character}
  375. \issue{CHARACTER-VS-CHAR:LESS-INCONSISTENT-SHORT}
  376. \oftype{base-char}.
  377. \endissue{CHARACTER-VS-CHAR:LESS-INCONSISTENT-SHORT}
  378. \gentry{base string} \Noun\
  379. a \term{string} \oftype{base-string}.
  380. \gentry{before method} \Noun\
  381. a \term{method} having the \term{qualifier} \kwd{before}.
  382. \gentry{bidirectional} \Adjective\ (of a \term{stream})
  383. being both an \term{input} \term{stream} and an \term{output} \term{stream}.
  384. \gentry{binary} \Adjective\
  385. 1. (of a \term{stream})
  386. being a \term{stream} that has an \term{element type} that is a \subtypeof{integer}.
  387. The most fundamental operation on a \term{binary} \term{input} \term{stream}
  388. is \funref{read-byte} and on a \term{binary} \term{output} \term{stream}
  389. is \funref{write-byte}.
  390. \Seeterm{character}.
  391. 2. (of a \term{file})
  392. having been created by opening a \term{binary} \term{stream}.
  393. (It is \term{implementation-dependent} whether this is an detectable aspect
  394. of the \term{file}, or whether any given \term{character} \term{file} can be
  395. treated as a \term{binary} \term{file}.)
  396. %!!! JonL: In the iteration chapter, you also use this to mean to
  397. % reset the value of a variable.
  398. % KMP: Those references need to be fixed.
  399. \gentry{bind} \TransitiveVerb\ (a \term{variable})
  400. to establish a \term{binding} for the \term{variable}.
  401. \gentry{binding} \Noun\
  402. an association between a \term{name} and that which the \term{name}
  403. denotes.
  404. \gexample{A lexical binding is a lexical association between a
  405. name and its value.}
  406. %% Added per Boyer/Kaufmann/Moore #5 (by X3J13 vote at May 4-5, 1994 meeting).
  407. %% -kmp 9-May-94
  408. When the term \term{binding} is qualified by the name of a \term{namespace},
  409. such as ``variable'' or ``function,''
  410. it restricts the binding to the indicated namespace, as in:
  411. \gexample{\specref{let} establishes variable bindings.}
  412. or
  413. \gexample{\specref{let} establishes bindings of variables.}
  414. \gentry{bit} \Noun\
  415. an \term{object} \oftype{bit};
  416. that is, the \term{integer} \f{0} or the \term{integer} \f{1}.
  417. \gentry{bit array} \Noun\
  418. a specialized \term{array} that is of \term{type} \f{(array bit)},
  419. and whose elements are \oftype{bit}.
  420. \gentry{bit vector} \Noun\
  421. a specialized \term{vector} that is \oftype{bit-vector},
  422. and whose elements are \oftype{bit}.
  423. \gentry{bit-wise logical operation specifier} \Noun\
  424. an \term{object} which names one of the sixteen possible bit-wise logical
  425. operations that can be performed by the \funref{boole} function,
  426. and which is the \term{value} of exactly one of the
  427. \term{constant variables}
  428. \conref{boole-clr}, \conref{boole-set},
  429. \conref{boole-1}, \conref{boole-2},
  430. \conref{boole-c1}, \conref{boole-c2},
  431. \conref{boole-and}, \conref{boole-ior},
  432. \conref{boole-xor}, \conref{boole-eqv},
  433. \conref{boole-nand}, \conref{boole-nor},
  434. \conref{boole-andc1}, \conref{boole-andc2},
  435. \conref{boole-orc1}, or \conref{boole-orc2}.
  436. \gentry{block} \Noun\
  437. a named lexical \term{exit point},
  438. \term{established} explicitly by \specref{block}
  439. or implicitly by \term{operators}
  440. such as \macref{loop}, \macref{do} and \macref{prog},
  441. to which control and values may be transfered by
  442. using a \specref{return-from} \term{form} with the name of the \term{block}.
  443. \gentry{block tag} \Noun\
  444. the \term{symbol} that, within the \term{lexical scope}
  445. of a \specref{block} \term{form}, names the \term{block}
  446. \term{established} by that \specref{block} \term{form}.
  447. See \macref{return} or \specref{return-from}.
  448. \gentry{boa lambda list} \Noun\
  449. a \term{lambda list} that is syntactically like an \term{ordinary lambda list},
  450. but that is processed in ``\b{b}y \b{o}rder of \b{a}rgument'' style.
  451. \Seesection\BoaLambdaLists.
  452. \gentry{body parameter} \Noun\
  453. a \term{parameter} available in certain \term{lambda lists}
  454. which from the point of view of \term{conforming programs}
  455. is like a \term{rest parameter} in every way except that it is introduced
  456. by \keyref{body} instead of \keyref{rest}. (\term{Implementations} are
  457. permitted to provide extensions which distinguish \term{body parameters}
  458. and \term{rest parameters}---\eg the \term{forms} for \term{operators}
  459. which were defined using a \term{body parameter} might be pretty printed
  460. slightly differently than \term{forms} for \term{operators} which were
  461. defined using \term{rest parameters}.)
  462. \gentry{boolean} \Noun\
  463. an \term{object} \oftype{boolean};
  464. that is, one of the following \term{objects}:
  465. the symbol~\t\ (representing \term{true}),
  466. or the symbol~\nil\ (representing \term{false}).
  467. \Seeterm{generalized boolean}.
  468. \gentry{boolean equivalent} \Noun\ (of an \term{object} $O\sub 1$)
  469. any \term{object} $O\sub 2$ that has the same truth value as $O\sub 1$
  470. when both $O\sub 1$ and $O\sub 2$ are viewed as \term{generalized booleans}.
  471. \gentry{bound} \Adjective, \TransitiveVerb\
  472. 1. \Adjective\ having an associated denotation in a \term{binding}.
  473. \gexample{The variables named by a \specref{let} are bound within
  474. its body.}
  475. \Seeterm{unbound}.
  476. 2. \Adjective\ having a local \term{binding} which
  477. \term{shadows}\meaning{2} another.
  478. \gexample{The variable \varref{*print-escape*} is bound while in
  479. the \funref{princ} function.}
  480. 3. \TransitiveVerb\ the past tense of \term{bind}.
  481. \gentry{bound declaration} \Noun\
  482. a \term{declaration} that refers to or is associated with a \term{variable}
  483. or \term{function} and that appears within the \term{special form}
  484. that \term{establishes} the \term{variable} or \term{function},
  485. but before the body of that \term{special form}
  486. % This next parenthetical remark was added because Moon thinks (and I agree)
  487. % that rather than just "within" we need to say "at the head of the body"
  488. % in order to make it clear that
  489. % (let ((a (let ((b 1))
  490. % (declare (fixnum a))
  491. % (expt b 100))))
  492. % (print a))
  493. % is not accidentally covered.
  494. (specifically, at the head of that \term{form}'s body).
  495. %!!! Barmar: The following should be replaced by a cross-reference to a
  496. % concept section.
  497. (If a \term{bound declaration} refers to a \term{function} \term{binding} or
  498. a \term{lexical variable} \term{binding}, the \term{scope} of
  499. the \term{declaration} is exactly the \term{scope} of that
  500. \term{binding}. If the \term{declaration} refers to a
  501. \term{dynamic variable} \term{binding}, the \term{scope} of
  502. the \term{declaration} is what the \term{scope} of the
  503. \term{binding} would have been if it were lexical rather than dynamic.)
  504. \gentry{bounded} \Adjective\ (of a \term{sequence} $S$,
  505. by an ordered pair
  506. of \term{bounding indices} $i\sub{start}$ and $i\sub{end}$)
  507. restricted to a subrange of the \term{elements} of $S$ that includes each \term{element}
  508. beginning with (and including) the one indexed by $i\sub{start}$ and
  509. continuing up to (but not including) the one indexed by $i\sub{end}$.
  510. \gentry{bounding index} \Noun\ (of a \term{sequence} with \term{length} $n$)
  511. either of a conceptual pair of \term{integers}, $i\sub{start}$ and $i\sub{end}$,
  512. respectively called the ``lower bounding index'' and ``upper bounding index'',
  513. such that $0 \leq i\sub{start} \leq i\sub{end} \leq n$, and which therefore delimit
  514. a subrange of the \term{sequence} \term{bounded} by $i\sub{start}$ and $i\sub{end}$.
  515. \gentry{bounding index designator} (for a \term{sequence})
  516. one of two \term{objects} that, taken together as an ordered pair,
  517. behave as a \term{designator} for \term{bounding indices} of the \term{sequence};
  518. that is, they denote \term{bounding indices} of the \term{sequence},
  519. and are either:
  520. an \term{integer} (denoting itself) and \nil\
  521. (denoting the \term{length} of the \term{sequence}),
  522. or two \term{integers} (each denoting themselves).
  523. \gentry{break loop} \Noun\
  524. A variant of the normal \term{Lisp read-eval-print loop} that is recursively
  525. entered, usually because the ongoing \term{evaluation} of some other \term{form}
  526. has been suspended for the purpose of debugging. Often, a \term{break loop}
  527. provides the ability to exit in such a way as to continue the suspended computation.
  528. \Seefun{break}.
  529. \gentry{broadcast stream} \Noun\
  530. an \term{output} \term{stream} \oftype{broadcast-stream}.
  531. \gentry{built-in class} \Noun\
  532. %"instance" => "generalized instance" per Quinquevirate. -kmp 14-Feb-92
  533. a \term{class} that is a \term{generalized instance} \ofclass{built-in-class}.
  534. %!!! KMP: This term is confusing and should probably be called something else.
  535. \gentry{built-in type} \Noun\
  536. one of the \term{types} in \figref\StandardizedAtomicTypeSpecs.
  537. % \gentry{built-in type} \Noun\
  538. % one of the \term{types} in \thenextfigure.
  539. %
  540. % Moon: Aren't there a bunch missing, like base-char and simple-vector.
  541. % \displaythree{Built-in types}{
  542. % array&integer&restart\cr
  543. % bit-vector&long-float&sequence\cr
  544. % character&null&short-float\cr
  545. % complex&number&single-float\cr
  546. % condition&package&stream\cr
  547. % cons&pathname&string\cr
  548. % double-float&random-state&symbol\cr
  549. % float&ratio&vector\cr
  550. % function&rational&\cr
  551. % hash-table&readtable&\cr
  552. % }
  553. \gentry{byte} \Noun\
  554. 1. adjacent bits within an \term{integer}.
  555. (The specific number of bits can vary from point to point in the program;
  556. \seefun{byte}.)
  557. 2. an integer in a specified range.
  558. % Moon: Below 0 and a power of 2?
  559. % KMP: I'm not so sure. In the context of OPEN, it seems to mean any integer.
  560. (The specific range can vary from point to point in the program;
  561. \seefuns{open} and \funref{write-byte}.)
  562. \gentry{byte specifier} \Noun\
  563. An \term{object} of \term{implementation-dependent} nature
  564. that is returned by \thefunction{byte} and
  565. that specifies the range of bits in an \term{integer} to be used
  566. as a \term{byte} by \term{functions} such as \funref{ldb}.
  567. \indextab{C}
  568. \gentry{cadr} \pronounced{\Stress{ka}\stress{d\schwa r}}, \Noun\ (of an \term{object})
  569. the \term{car} of the \term{cdr} of that \term{object}.
  570. \gentry{call} \TransitiveVerb, \Noun\
  571. 1. \TransitiveVerb\ (a \term{function} with \term{arguments})
  572. to cause the \term{code} represented by that \term{function} to be
  573. \term{executed} in an \term{environment} where \term{bindings} for
  574. the \term{values} of its \term{parameters} have been \term{established}
  575. based on the \term{arguments}.
  576. \gexample{Calling the function \funref{+} with the arguments
  577. \f{5} and \f{1} yields a value of \f{6}.}
  578. 2. \Noun\ a \term{situation} in which a \term{function} is called.
  579. \gentry{captured initialization form} \Noun\
  580. an \term{initialization form} along with the \term{lexical environment}
  581. in which the \term{form} that defined the \term{initialization form}
  582. was \term{evaluated}.
  583. \gexample{Each newly added shared slot is set to the result of evaluating
  584. the captured initialization form for the slot that was specified
  585. in the \macref{defclass} form for the new class.}
  586. \gentry{car} \Noun\
  587. 1. a. (of a \term{cons})
  588. the component of a \term{cons} corresponding to the first
  589. \term{argument} to \funref{cons}; the other component is the
  590. \term{cdr}.
  591. \gexample{The function \funref{rplaca} modifies the car of a cons.}
  592. b. (of a \term{list})
  593. the first \term{element} of the \term{list}, or \nil\ if the
  594. \term{list} is the \term{empty list}.
  595. 2. the \term{object} that is held in the \term{car}\meaning{1}.
  596. \gexample{The function \funref{car} returns the car of a cons.}
  597. \gentry{case} \Noun\ (of a \term{character})
  598. the property of being either \term{uppercase} or \term{lowercase}.
  599. Not all \term{characters} have \term{case}.
  600. \gexample{The characters \f{\#\\A} and \f{\#\\a} have case,
  601. but the character \f{\#\\\$} has no case.}
  602. \Seesection\CharactersWithCase\ and \thefunction{both-case-p}.
  603. \gentry{case sensitivity mode} \Noun\
  604. one of the \term{symbols}
  605. \kwd{upcase}, \kwd{downcase}, \kwd{preserve}, or \kwd{invert}.
  606. \gentry{catch} \Noun\
  607. an \term{exit point} which is \term{established} by a \specref{catch}
  608. \term{form} within the \term{dynamic scope} of its body,
  609. which is named by a \term{catch tag},
  610. and to which control and \term{values} may be \term{thrown}.
  611. \gentry{catch tag} \Noun\
  612. an \term{object} which names an \term{active} \term{catch}.
  613. (If more than one \term{catch} is active with the same \term{catch tag},
  614. it is only possible to \term{throw} to the innermost such \term{catch}
  615. because the outer one is \term{shadowed}\meaning{2}.)
  616. \gentry{cddr} \pronounced{\Stress{k\.ud}\schwa \stress{d\schwa r}} or
  617. \pronounced{\Stress{k\schwa}\stress{d\.ud\schwa r}}, \Noun\
  618. (of an \term{object})
  619. the \term{cdr} of the \term{cdr} of that \term{object}.
  620. \gentry{cdr} \pronounced{\Stress{k\.u}\stress{d\schwa r}}, \Noun\
  621. 1. a. (of a \term{cons})
  622. the component of a \term{cons} corresponding to the second \term{argument}
  623. to \funref{cons}; the other component is the \term{car}.
  624. \gexample{The function \funref{rplacd} modifies the cdr of a cons.}
  625. b. (of a \term{list} $L\sub 1$)
  626. either the \term{list} $L\sub 2$ that contains
  627. the \term{elements} of $L\sub 1$ that follow after the first,
  628. or else \nil\ if $L\sub 1$ is the \term{empty list}.
  629. 2. the \term{object} that is held in the \term{cdr}\meaning{1}.
  630. \gexample{The function \funref{cdr} returns the cdr of a cons.}
  631. \gentry{cell} \Noun\ \Traditional\ (of an \term{object})
  632. a conceptual \term{slot} of that \term{object}.
  633. The \term{dynamic variable} and global \term{function} \term{bindings}
  634. of a \term{symbol} are sometimes referred to as its \term{value cell}
  635. and \term{function cell}, respectively.
  636. \gentry{character} \Noun, \Adjective\
  637. 1. \Noun\ an \term{object} \oftype{character}; that is,
  638. an \term{object} that represents a unitary token in an aggregate quantity of text;
  639. \seesection\CharacterConcepts.
  640. 2. \Adjective\
  641. a. (of a \term{stream})
  642. having an \term{element type} that is a \subtypeof{character}.
  643. The most fundamental operation on a \term{character} \term{input} \term{stream}
  644. is \funref{read-char} and on a \term{character} \term{output} \term{stream}
  645. is \funref{write-char}. \Seeterm{binary}.
  646. b. (of a \term{file})
  647. having been created by opening a \term{character} \term{stream}.
  648. (It is \term{implementation-dependent} whether this is an inspectable aspect
  649. of the \term{file}, or whether any given \term{binary} \term{file} can be
  650. treated as a \term{character} \term{file}.)
  651. %!!! Moon: This never says what it is!
  652. \gentry{character code} \Noun\
  653. 1. one of possibly several \term{attributes} of a \term{character}.
  654. 2. a non-negative \term{integer} less than \thevalueof{char-code-limit}
  655. that is suitable for use as a \term{character code}\meaning{1}.
  656. \gentry{character designator} \Noun\
  657. a \term{designator} for a \term{character}; that is,
  658. an \term{object} that denotes a \term{character}
  659. and that is one of:
  660. a \term{designator} for a \term{string} of \term{length} one
  661. (denoting the \term{character} that is its only \term{element}),
  662. \issue{CHARACTER-PROPOSAL:2-1-1}
  663. % Integers used to be permitted (a la INT-CHAR), but are now removed.
  664. \endissue{CHARACTER-PROPOSAL:2-1-1}
  665. or a \term{character} (denoting itself).
  666. \gentry{circular} \Adjective\
  667. 1. (of a \term{list}) a \term{circular list}.
  668. 2. (of an arbitrary \term{object})
  669. having a \term{component}, \term{element}, \term{constituent}\meaning{2},
  670. or \term{subexpression} (as appropriate to the context)
  671. that is the \term{object} itself.
  672. \gentry{circular list} \Noun\
  673. a chain of \term{conses} that has no termination because some
  674. \term{cons} in the chain is the \term{cdr} of a later \term{cons}.
  675. \gentry{class} \Noun\
  676. 1. an \term{object} that uniquely determines the structure and behavior of
  677. a set of other \term{objects} called its \term{direct instances},
  678. that contributes structure and behavior to a set of
  679. other \term{objects} called its \term{indirect instances},
  680. and that acts as a \term{type specifier} for a set of objects
  681. called its \term{generalized instances}.
  682. \gexample{The class \typeref{integer} is a subclass of the class \typeref{number}.}
  683. (Note that the phrase ``the \term{class} \f{foo}'' is often substituted for
  684. the more precise phrase ``the \term{class} named \f{foo}''---in both
  685. cases, a \term{class} \term{object} (not a \term{symbol}) is denoted.)
  686. 2. (of an \term{object})
  687. the uniquely determined \term{class} of which the \term{object} is
  688. a \term{direct instance}.
  689. \Seefun{class-of}.
  690. \gexample{The class of the object returned by \funref{gensym}
  691. is \typeref{symbol}.}
  692. (Note that with this usage a phrase such as ``its \term{class} is \f{foo}''
  693. is often substituted for the more precise phrase
  694. ``its \term{class} is the \term{class} named \f{foo}''---in both
  695. cases, a \term{class} \term{object} (not a \term{symbol}) is denoted.)
  696. \gentry{class designator} \Noun\
  697. a \term{designator} for a \term{class}; that is,
  698. an \term{object} that denotes a \term{class}
  699. and that is one of:
  700. a \term{symbol} (denoting the \term{class} named by that \term{symbol};
  701. \seefun{find-class})
  702. or a \term{class} (denoting itself).
  703. \gentry{class precedence list} \Noun\
  704. a unique total ordering on a \term{class}
  705. and its \term{superclasses} that is consistent with the
  706. \term{local precedence orders} for the \term{class} and its
  707. \term{superclasses}.
  708. For detailed information, \seesection\DeterminingtheCPL.
  709. \gentry{close} \TransitiveVerb\ (a \term{stream})
  710. to terminate usage of the \term{stream} as a source or sink of data,
  711. permitting the \term{implementation} to reclaim its internal data structures,
  712. and to free any external resources which might have been locked by the
  713. \term{stream} when it was opened.
  714. \gentry{closed} \Adjective\ (of a \term{stream})
  715. having been \term{closed} (\seeterm\term{close}).
  716. Some (but not all) operations that are valid on \term{open} \term{streams}
  717. are not valid on \term{closed} \term{streams}.
  718. \Seesection\OpenAndClosedStreams.
  719. \gentry{closure} \Noun\
  720. a \term{lexical closure}.
  721. %"constant objects" => "literal objects" per Moon #4(first public review) --kmp 5-May-93
  722. \gentry{coalesce} \TransitiveVerb\ (\term{literal objects} that are \term{similar})
  723. to consolidate the identity of those \term{objects},
  724. such that they become the \term{same} %was "identical". -kmp 27-Jul-93
  725. \term{object}.
  726. \Seesection\CompilationTerms.
  727. \gentry{code} \Noun\
  728. 1. \Traditional\
  729. any representation of actions to be performed, whether conceptual
  730. or as an actual \term{object}, such as
  731. \term{forms},
  732. \term{lambda expressions},
  733. \term{objects} of \term{type} \term{function},
  734. text in a \term{source file},
  735. or instruction sequences in a \term{compiled file}.
  736. This is a generic term;
  737. the specific nature of the representation depends on its context.
  738. 2. (of a \term{character})
  739. a \term{character code}.
  740. \gentry{coerce} \TransitiveVerb\ (an \term{object} to a \term{type})
  741. to produce an \term{object} from the given \term{object},
  742. without modifying that \term{object},
  743. by following some set of coercion rules that must be specifically
  744. stated for any context in which this term is used.
  745. The resulting \term{object} is necessarily of the indicated \term{type},
  746. except when that type is a \subtypeof{complex}; in that case,
  747. if a \term{complex rational} with an imaginary part of zero would result,
  748. the result is a \term{rational}
  749. rather than a \term{complex}---\seesection\RuleOfCanonRepForComplexRationals.
  750. \gentry{colon} \Noun\
  751. the \term{standard character} that is called ``colon'' (\f{:}).
  752. \Seefigure\StdCharsThree.
  753. \gentry{comma} \Noun\
  754. the \term{standard character} that is called ``comma'' (\f{,}).
  755. \Seefigure\StdCharsThree.
  756. \gentry{compilation} \Noun\
  757. the process of \term{compiling} \term{code} by the \term{compiler}.
  758. %!!! Needs to acknowledge the interpreter in case of lazy semantic processing.
  759. \gentry{compilation environment} \Noun\
  760. 1. An \term{environment} that represents information known by the
  761. \term{compiler} about a \term{form} that is being \term{compiled}.
  762. \Seesection\CompilationTerms.
  763. 2. An \term{object} that represents the
  764. \term{compilation environment}\meaning{1}
  765. and that is used as a second argument to a \term{macro function}
  766. (which supplies a \term{value} for any \keyref{environment} \term{parameter}
  767. in the \term{macro function}'s definition).
  768. \gentry{compilation unit} \Noun\
  769. an interval during which a single unit of compilation is occurring.
  770. \Seemac{with-compilation-unit}.
  771. \gentry{compile} \TransitiveVerb\
  772. 1. (\term{code})
  773. to perform semantic preprocessing of the \term{code}, usually optimizing
  774. one or more qualities of the code, such as run-time speed of \term{execution}
  775. or run-time storage usage. The minimum semantic requirements of compilation are
  776. that it must remove all macro calls and arrange for all \term{load time values}
  777. to be resolved prior to run time.
  778. 2. (a \term{function})
  779. to produce a new \term{object} \oftype{compiled-function}
  780. which represents the result of \term{compiling} the \term{code}
  781. represented by the \term{function}. \Seefun{compile}.
  782. 3. (a \term{source file})
  783. to produce a \term{compiled file} from a \term{source file}.
  784. \Seefun{compile-file}.
  785. \gentry{compile time} \Noun\
  786. the duration of time that the \term{compiler} is processing \term{source code}.
  787. \gentry{compile-time definition} \Noun\
  788. a definition in the \term{compilation environment}.
  789. \gentry{compiled code} \Noun\
  790. 1. \term{compiled functions}.
  791. 2. \term{code} that represents \term{compiled functions},
  792. such as the contents of a \term{compiled file}.
  793. \gentry{compiled file} \Noun\
  794. a \term{file} which represents the results of \term{compiling} the
  795. \term{forms} which appeared in a corresponding \term{source file},
  796. and which can be \term{loaded}. \Seefun{compile-file}.
  797. \issue{COMPILED-FUNCTION-REQUIREMENTS:TIGHTEN}
  798. \gentry{compiled function} \Noun\
  799. an \term{object} \oftype{compiled-function}, which is a \term{function}
  800. that has been \term{compiled}, which contains no references to \term{macros} that
  801. must be expanded at run time, and which contains no unresolved references
  802. to \term{load time values}.
  803. \endissue{COMPILED-FUNCTION-REQUIREMENTS:TIGHTEN}
  804. \gentry{compiler} \Noun\
  805. a facility that is part of Lisp and that translates \term{code}
  806. into an \term{implementation-dependent} form
  807. that might be represented or \term{executed} efficiently.
  808. The functions \funref{compile} and \funref{compile-file}
  809. permit programs to invoke the \term{compiler}.
  810. \issue{DEFINE-COMPILER-MACRO:X3J13-NOV89}
  811. \gentry{compiler macro} \Noun\
  812. an auxiliary macro definition for a globally defined \term{function}
  813. or \term{macro} which might or might not be called by any given
  814. \term{conforming implementation} and which must preserve the semantics
  815. of the globally defined \term{function} or \term{macro} but which might
  816. perform some additional optimizations. (Unlike a \term{macro},
  817. a \term{compiler macro} does not extend the syntax of \clisp; rather, it
  818. provides an alternate implementation strategy for some existing syntax
  819. or functionality.)
  820. \gentry{compiler macro expansion} \Noun\
  821. 1. the process of translating a \term{form} into another \term{form}
  822. by a \term{compiler macro}.
  823. 2. the \term{form} resulting from this process.
  824. \gentry{compiler macro form} \Noun\
  825. a \term{function form} or \term{macro form} whose \term{operator}
  826. has a definition as a \term{compiler macro},
  827. or a \funref{funcall} \term{form} whose first \term{argument} is a
  828. \specref{function} \term{form} whose \term{argument} is the \term{name}
  829. of a \term{function} that has a definition as a \term{compiler macro}.
  830. \gentry{compiler macro function} \Noun\
  831. a \term{function} of two arguments, a \term{form} and an
  832. \term{environment}, that implements \term{compiler macro expansion} by
  833. producing either a \term{form} to be used in place of the original
  834. argument \term{form} or else \nil, indicating that the original \term{form}
  835. should not be replaced. \Seesection\CompilerMacros.
  836. \endissue{DEFINE-COMPILER-MACRO:X3J13-NOV89}
  837. \gentry{complex} \Noun\
  838. an \term{object} \oftype{complex}.
  839. \gentry{complex float} \Noun\
  840. an \term{object} \oftype{complex} which has a \term{complex part type}
  841. that is a \term{subtype} of \typeref{float}.
  842. A \term{complex float} is a \term{complex},
  843. but it is not a \term{float}.
  844. \gentry{complex part type} \Noun\ (of a \term{complex})
  845. 1. the \term{type} which is used to represent both the real part
  846. and the imaginary part of the \term{complex}.
  847. 2. the \term{actual complex part type} of the \term{complex}.
  848. 3. the \term{expressed complex part type} of the \term{complex}.
  849. \gentry{complex rational} \Noun\
  850. an \term{object} \oftype{complex} which has a \term{complex part type}
  851. that is a \term{subtype} of \typeref{rational}.
  852. A \term{complex rational} is a \term{complex}, but it is not a \term{rational}.
  853. No \term{complex rational} has an imaginary part of zero because such a
  854. number is always represented by \clisp\ as an \term{object} \oftype{rational};
  855. \seesection\RuleOfCanonRepForComplexRationals.
  856. \gentry{complex single float} \Noun\
  857. an \term{object} \oftype{complex} which has a \term{complex part type}
  858. that is a \term{subtype} of \typeref{single-float}.
  859. A \term{complex single float} is a \term{complex},
  860. but it is not a \term{single float}.
  861. \gentry{composite stream} \Noun\
  862. a \term{stream} that is composed of one or more other \term{streams}.
  863. \gexample{\funref{make-synonym-stream} creates a composite stream.}
  864. \gentry{compound form} \Noun\
  865. a \term{non-empty} \term{list} which is a \term{form}:
  866. a \term{special form},
  867. a \term{lambda form},
  868. a \term{macro form},
  869. or a \term{function form}.
  870. \gentry{compound type specifier} \Noun\
  871. a \term{type specifier} that is a \term{cons};
  872. \ie a \term{type specifier} that is not an \term{atomic type specifier}.
  873. \gexample{\f{(vector single-float)} is a compound type specifier.}
  874. \gentry{concatenated stream} \Noun\
  875. an \term{input} \term{stream} \oftype{concatenated-stream}.
  876. \gentry{condition} \Noun\
  877. 1. an \term{object} which represents a \term{situation}---usually,
  878. but not necessarily, during \term{signaling}.
  879. 2. an \term{object} \oftype{condition}.
  880. \gentry{condition designator} \Noun\
  881. one or more \term{objects} that, taken together,
  882. denote either an existing \term{condition} \term{object}
  883. or a \term{condition} \term{object} to be implicitly created.
  884. For details, \seesection\ConditionDesignators.
  885. \gentry{condition handler} \Noun\
  886. a \term{function} that might be invoked by the act of \term{signaling},
  887. that receives the \term{condition} being signaled as its only argument,
  888. and that is permitted to \term{handle} the \term{condition}
  889. or to \term{decline}. \Seesection\Signaling.
  890. \gentry{condition reporter} \Noun\
  891. a \term{function} that describes how a \term{condition} is to be printed
  892. when the \term{Lisp printer} is invoked while \varref{*print-escape*}
  893. is \term{false}. \Seesection\PrintingConditions.
  894. \gentry{conditional newline} \Noun\
  895. a point in output where a \term{newline} might be inserted at the
  896. discretion of the \term{pretty printer}.
  897. There are four kinds of \term{conditional newlines},
  898. called ``linear-style,''
  899. ``fill-style,''
  900. ``miser-style,''
  901. and ``mandatory-style.''
  902. \Seefun{pprint-newline} and \secref\DynamicControlofOutput.
  903. \gentry{conformance} \Noun\
  904. a state achieved by proper and complete adherence to the requirements
  905. of this specification. \Seesection\Conformance.
  906. \gentry{conforming code} \Noun\
  907. \term{code} that is all of part of a \term{conforming program}.
  908. \gentry{conforming implementation} \Noun\
  909. an \term{implementation}, used to emphasize complete and correct
  910. adherance to all conformance criteria.
  911. A \term{conforming implementation} is capable of
  912. accepting a \term{conforming program} as input,
  913. preparing that \term{program} for \term{execution},
  914. and executing the prepared \term{program} in accordance with this specification.
  915. An \term{implementation} which
  916. has been extended may still be a \term{conforming implementation}
  917. provided that no extension interferes with the correct function of any
  918. \term{conforming program}.
  919. \gentry{conforming processor} \Noun\ \ANSI\
  920. a \term{conforming implementation}.
  921. \gentry{conforming program} \Noun\
  922. a \term{program}, used to emphasize the fact that the \term{program}
  923. depends for its correctness only upon documented aspects of \clisp, and
  924. can therefore be expected to run correctly in any \term{conforming implementation}.
  925. \gentry{congruent} \Noun\
  926. conforming to the rules of \term{lambda list} congruency, as detailed in
  927. \secref\GFMethodLambdaListCongruency.
  928. \gentry{cons} \Noun\Verb\
  929. 1. \Noun\ a compound data \term{object} having two components called the
  930. \term{car} and the \term{cdr}.
  931. 2. \Verb\ to create such an \term{object}.
  932. 3. \Verb\ \Idiomatic\ to create any \term{object}, or to allocate storage.
  933. \gentry{constant} \Noun\
  934. 1. a \term{constant form}.
  935. 2. a \term{constant variable}.
  936. 3. a \term{constant object}.
  937. 4. a \term{self-evaluating object}.
  938. \gentry{constant form} \Noun\
  939. any \term{form}
  940. for which \term{evaluation} always \term{yields} the same \term{value},
  941. that neither affects nor is affected by the \term{environment}
  942. in which it is \term{evaluated} (except that it is permitted to
  943. refer to the names of \term{constant variables}
  944. defined in the \term{environment}),
  945. and
  946. that neither affects nor is affected by the state of any \term{object}
  947. except those \term{objects} that are \term{otherwise inaccessible parts}
  948. of \term{objects} created by the \term{form} itself.
  949. \gexample{A \funref{car} form in which the argument is a
  950. \specref{quote} form is a constant form.}
  951. \gentry{constant object} \Noun\
  952. an \term{object} that is constrained (\eg by its context in a \term{program}
  953. or by the source from which it was obtained) to be \term{immutable}.
  954. \gexample{A literal object that has been processed by \funref{compile-file}
  955. is a constant object.}
  956. \gentry{constant variable} \Noun\
  957. a \term{variable}, the \term{value} of which can never change;
  958. that is, a \term{keyword}\meaning{1} or a \term{named constant}.
  959. \gexample{The symbols \t, \nil, \kwd{direction}, and
  960. \conref{most-positive-fixnum}\ are constant variables.}
  961. \gentry{constituent} \Noun, \Adjective\
  962. 1. a. \Noun\ the \term{syntax type} of a \term{character} that is part of a \term{token}.
  963. For details, \seesection\ConstituentChars.
  964. b. \Adjective\ (of a \term{character})
  965. having the \term{constituent}\meaning{1a} \term{syntax type}\meaning{2}.
  966. c. \Noun\ a \term{constituent}\meaning{1b} \term{character}.
  967. 2. \Noun\ (of a \term{composite stream})
  968. one of possibly several \term{objects} that collectively comprise
  969. the source or sink of that \term{stream}.
  970. \gentry{constituent trait} \Noun\ (of a \term{character})
  971. one of several classifications of a \term{constituent} \term{character}
  972. in a \term{readtable}. \Seesection\ConstituentChars.
  973. \gentry{constructed stream} \Noun\
  974. a \term{stream} whose source or sink is a Lisp \term{object}.
  975. Note that since a \term{stream} is another Lisp \term{object},
  976. \term{composite streams} are considered \term{constructed streams}.
  977. \gexample{A string stream is a constructed stream.}
  978. \gentry{contagion} \Noun\
  979. a process whereby operations on \term{objects} of differing \term{types}
  980. (\eg arithmetic on mixed \term{types} of \term{numbers}) produce a result
  981. whose \term{type} is controlled by the dominance of one \term{argument}'s
  982. \term{type} over the \term{types} of the other \term{arguments}.
  983. \Seesection\NumericContagionRules.
  984. \gentry{continuable} \Noun\ (of an \term{error})
  985. an \term{error} that is \term{correctable} by the \f{continue} restart.
  986. \gentry{control form} \Noun\
  987. 1. a \term{form} that establishes one or more places to which control
  988. can be transferred.
  989. 2. a \term{form} that transfers control.
  990. % Moon says he can't think of any form which doesn't match this:
  991. % 3. a \term{form} from which control can be transferred.
  992. \gentry{copy} \Noun\
  993. 1. (of a \term{cons} $C$)
  994. a \term{fresh} \term{cons} with the \term{same} \term{car} and \term{cdr} as $C$.
  995. 2. (of a \term{list} $L$)
  996. a \term{fresh} \term{list} with the \term{same} \term{elements} as $L$.
  997. (Only the \term{list structure} is \term{fresh};
  998. the \term{elements} are the \term{same}.)
  999. \Seefun{copy-list}.
  1000. 3. (of an \term{association list} $A$ with \term{elements} $A\sub{i}$)
  1001. a \term{fresh} \term{list} $B$ with \term{elements} $B\sub{i}$, each of which is
  1002. \nil\ if $A\sub i$ is \nil, or else a \term{copy} of the \term{cons} $A\sub i$.
  1003. \Seefun{copy-alist}.
  1004. 4. (of a \term{tree} $T$)
  1005. a \term{fresh} \term{tree} with the \term{same} \term{leaves} as $T$.
  1006. \Seefun{copy-tree}.
  1007. 5. (of a \term{random state} $R$)
  1008. a \term{fresh} \term{random state} that, if used as an argument to
  1009. to \thefunction{random} would produce the same series of ``random''
  1010. values as $R$ would produce.
  1011. \issue{DEFSTRUCT-COPIER:ARGUMENT-TYPE}
  1012. 6. (of a \term{structure} $S$)
  1013. a \term{fresh} \term{structure} that has the same \term{type} as $S$,
  1014. and that has slot values, each of which is the \term{same} as the
  1015. corresponding slot value of $S$.
  1016. \endissue{DEFSTRUCT-COPIER:ARGUMENT-TYPE}
  1017. %% Proposed:
  1018. % 7. (of an \term{array} $A\sub 1$)
  1019. % a \term{fresh} \term{array} $A\sub 2$
  1020. % with the same \term{array element type} as $A\sub 1$
  1021. % and the \term{same} \term{active} \term{elements} as $A\sub 1$.
  1022. % 8. (of a \term{readtable} $R\sub 1$)
  1023. % a \term{fresh} \term{readtable} $R\sub 2$
  1024. % that has the same \term{readtable case} as $R\sub 1$
  1025. % and whose associations between \term{macro characters}
  1026. % and their \term{reader macro functions}
  1027. % are distinct from those of $R\sub 1$.
  1028. %
  1029. (Note that since the difference between a \term{cons}, a \term{list},
  1030. and a \term{tree} is a matter of ``view'' or ``intention,'' there can
  1031. be no general-purpose \term{function} which, based solely on the \term{type}
  1032. of an \term{object}, can determine which of these distinct meanings is
  1033. intended. The distinction rests solely on the basis of the text description
  1034. within this document. For example, phrases like ``a \term{copy} of the
  1035. given \term{list}'' or ``copy of the \term{list} \param{x}'' imply the
  1036. second definition.)
  1037. \gentry{correctable} \Adjective\ (of an \term{error})
  1038. 1. (by a \term{restart} other than \misc{abort}
  1039. that has been associated with the \term{error})
  1040. capable of being corrected by invoking that \term{restart}.
  1041. \gexample{The function \funref{cerror} signals an error
  1042. that is correctable by the \misc{continue} \term{restart}.}
  1043. \issue{CONDITION-RESTARTS:PERMIT-ASSOCIATION}
  1044. (Note that correctability is not a property of an
  1045. \term{error} \term{object}, but rather a property of the
  1046. \term{dynamic environment} that is in effect when the
  1047. \term{error} is \term{signaled}.
  1048. Specifically, the \term{restart} is ``associated with''
  1049. the \term{error} \term{condition} \term{object}.
  1050. \Seesection\AssocRestartWithCond.)
  1051. \endissue{CONDITION-RESTARTS:PERMIT-ASSOCIATION}
  1052. 2. (when no specific \term{restart} is mentioned)
  1053. \term{correctable}\meaning{1} by at least one \term{restart}.
  1054. \gexample{\funref{import} signals a correctable error \oftype{package-error}
  1055. if any of the imported symbols has the same name as
  1056. some distinct symbol already accessible in the package.}
  1057. \gentry{current input base} \Noun\ (in a \term{dynamic environment})
  1058. the \term{radix} that is \thevalueof{*read-base*} in that \term{environment},
  1059. and that is the default \term{radix} employed by the \term{Lisp reader}
  1060. and its related \term{functions}.
  1061. \gentry{current logical block} \Noun\
  1062. the context of the innermost lexically enclosing use of \macref{pprint-logical-block}.
  1063. \gentry{current output base} \Noun\ (in a \term{dynamic environment})
  1064. the \term{radix} that is \thevalueof{*print-base*} in that \term{environment},
  1065. and that is the default \term{radix} employed by the \term{Lisp printer}
  1066. and its related \term{functions}.
  1067. \gentry{current package} \Noun\ (in a \term{dynamic environment})
  1068. the \term{package} that is \thevalueof{*package*} in that \term{environment},
  1069. and that is the default \term{package} employed by the \term{Lisp reader}
  1070. and \term{Lisp printer}, and their related \term{functions}.
  1071. % Added for consistency with other "current xxx" terms. -kmp 27-Aug-93
  1072. \gentry{current pprint dispatch table} \Noun\ (in a \term{dynamic environment})
  1073. the \term{pprint dispatch table} that is \thevalueof{*print-pprint-dispatch*}
  1074. in that \term{environment}, and that is the default \term{pprint dispatch table}
  1075. employed by the \term{pretty printer}.
  1076. \gentry{current random state} \Noun\ (in a \term{dynamic environment})
  1077. the \term{random state} that is \thevalueof{*random-state*} in that \term{environment},
  1078. and that is the default \term{random state} employed by \funref{random}.
  1079. \gentry{current readtable} \Noun\ (in a \term{dynamic environment})
  1080. the \term{readtable} that is \thevalueof{*readtable*} in that \term{environment},
  1081. and that affects the way in which \term{expressions}\meaning{2} are parsed
  1082. into \term{objects} by the \term{Lisp reader}.
  1083. \indextab{D}
  1084. \gentry{data type} \Noun\ \Traditional\
  1085. a \term{type}.
  1086. \gentry{debug I/O} \Noun\
  1087. the \term{bidirectional} \term{stream}
  1088. that is the \term{value} of \thevariable{*debug-io*}.
  1089. \gentry{debugger} \Noun\
  1090. a facility that allows the \term{user} to handle a \term{condition} interactively.
  1091. For example, the \term{debugger} might permit interactive
  1092. selection of a \term{restart} from among the \term{active} \term{restarts},
  1093. and it might perform additional \term{implementation-defined} services
  1094. for the purposes of debugging.
  1095. \gentry{declaration} \Noun\
  1096. a \term{global declaration} or \term{local declaration}.
  1097. \gentry{declaration identifier} \Noun\
  1098. one of the \term{symbols}
  1099. \declref{declaration},
  1100. \declref{dynamic-extent},
  1101. \declref{ftype},
  1102. \declref{function},
  1103. \declref{ignore},
  1104. \declref{inline},
  1105. \declref{notinline},
  1106. \declref{optimize},
  1107. \declref{special},
  1108. or \declref{type};
  1109. or a \term{symbol} which is the \term{name} of a \term{type};
  1110. or a \term{symbol} which has been \term{declared}
  1111. to be a \term{declaration identifier} by using a \declref{declaration}
  1112. \term{declaration}.
  1113. \issue{SYNTACTIC-ENVIRONMENT-ACCESS:RETRACTED-MAR91}
  1114. % or by using \funref{define-declaration}.
  1115. \endissue{SYNTACTIC-ENVIRONMENT-ACCESS:RETRACTED-MAR91}
  1116. \gentry{declaration specifier} \Noun\
  1117. an \term{expression} that can appear at top level of a \misc{declare}
  1118. expression or a \macref{declaim} form, or as the argument to \funref{proclaim},
  1119. and which has a \term{car} which is a \term{declaration identifier},
  1120. and which has a \term{cdr} that is data interpreted according to rules
  1121. specific to the \term{declaration identifier}.
  1122. \gentry{declare} \Verb\
  1123. to \term{establish} a \term{declaration}.
  1124. \Seemisc{declare}, \macref{declaim}, or \funref{proclaim}.
  1125. \gentry{decline} \Verb\ (of a \term{handler})
  1126. to return normally without having \term{handled} the \term{condition}
  1127. being \term{signaled}, permitting the signaling process to continue
  1128. as if the \term{handler} had not been present.
  1129. \gentry{decoded time} \Noun\
  1130. \term{absolute} \term{time}, represented as an ordered series of
  1131. nine \term{objects} which, taken together, form a description of
  1132. a point in calendar time, accurate to the nearest second (except
  1133. that \term{leap seconds} are ignored).
  1134. \Seesection\DecodedTime.
  1135. \gentry{default method} \Noun\
  1136. a \term{method} having no \term{parameter specializers} other than
  1137. \theclass{t}. Such a \term{method} is always an \term{applicable method}
  1138. but might be \term{shadowed}\meaning{2} by a more specific \term{method}.
  1139. \gentry{defaulted initialization argument list} \Noun\
  1140. a \term{list} of alternating initialization argument \term{names} and
  1141. \term{values} in which unsupplied initialization arguments are
  1142. defaulted, used in the protocol for initializing and reinitializing
  1143. \term{instances} of \term{classes}.
  1144. % This is new per Barrett #3 (first public review). -kmp 12-May-93
  1145. \gentry{define-method-combination arguments lambda list} \Noun\
  1146. a \term{lambda list} used by the \kwd{arguments} option
  1147. to \macref{define-method-combination}.
  1148. \Seesection\DefMethCombArgsLambdaLists.
  1149. % This is new. --sjl 5 Mar 92
  1150. \gentry{define-modify-macro lambda list} \Noun\
  1151. a \term{lambda list} used by \macref{define-modify-macro}.
  1152. \Seesection\DefineModifyMacroLambdaLists.
  1153. \gentry{defined name} \Noun\
  1154. a \term{symbol} the meaning of which is defined by \clisp.
  1155. \gentry{defining form} \Noun\
  1156. a \term{form} that has the side-effect of \term{establishing} a definition.
  1157. \gexample{\macref{defun} and \macref{defparameter} are defining forms.}
  1158. \gentry{defsetf lambda list} \Noun\
  1159. a \term{lambda list} that is like an \term{ordinary lambda list}
  1160. except that it does not permit \keyref{aux}
  1161. and that it permits use of \keyref{environment}.
  1162. \Seesection\DefsetfLambdaLists.
  1163. \issue{DEFTYPE-KEY:ALLOW}
  1164. \issue{DEFTYPE-DESTRUCTURING:YES}
  1165. \gentry{deftype lambda list} \Noun\
  1166. a \term{lambda list} that is like a \term{macro lambda list}
  1167. except that the default \term{value} for unsupplied \term{optional parameters}
  1168. and \term{keyword parameters} is the \term{symbol} \misc{*} (rather than \nil).
  1169. \Seesection\DeftypeLambdaLists.
  1170. \endissue{DEFTYPE-DESTRUCTURING:YES}
  1171. \endissue{DEFTYPE-KEY:ALLOW}
  1172. \gentry{denormalized} \Adjective, \ANSI, \IEEE\ (of a \term{float})
  1173. conforming to the description of ``denormalized'' as described by
  1174. {\IEEEFloatingPoint}.
  1175. For example, in an \term{implementation} where the minimum possible exponent
  1176. was \f{-7} but where \f{0.001} was a valid mantissa, the number \f{1.0e-10}
  1177. might be representable as \f{0.001e-7} internally even if the \term{normalized}
  1178. representation would call for it to be represented instead as \f{1.0e-10}
  1179. or \f{0.1e-9}. By their nature, \term{denormalized} \term{floats} generally
  1180. have less precision than \term{normalized} \term{floats}.
  1181. \gentry{derived type} \Noun\
  1182. a \term{type specifier} which is defined in terms of an expansion into another
  1183. \term{type specifier}. \macref{deftype} defines \term{derived types},
  1184. and there may be other \term{implementation-defined} \term{operators}
  1185. which do so as well.
  1186. \gentry{derived type specifier} \Noun\
  1187. a \term{type specifier} for a \term{derived type}.
  1188. \gentry{designator} \Noun\
  1189. an \term{object} that denotes another \term{object}.
  1190. In the dictionary entry for an \term{operator}
  1191. if a \term{parameter} is described as a \term{designator} for a \term{type},
  1192. the description of the \term{operator} is written in a way
  1193. that assumes that appropriate coercion to that \term{type} has already occurred;
  1194. that is, that the \term{parameter} is already of the denoted \term{type}.
  1195. For more detailed information, \seesection\Designators.
  1196. \gentry{destructive} \Adjective\ (of an \term{operator})
  1197. capable of modifying some program-visible aspect of one or more
  1198. \term{objects} that are either explicit \term{arguments} to the
  1199. \term{operator} or that can be obtained directly or indirectly
  1200. from the \term{global environment} by the \term{operator}.
  1201. % This is new. --sjl 5 Mar 92
  1202. \gentry{destructuring lambda list} \Noun\
  1203. an \term{extended lambda list} used in \macref{destructuring-bind} and
  1204. nested within \term{macro lambda lists}.
  1205. \Seesection\DestructuringLambdaLists.
  1206. \gentry{different} \Adjective\
  1207. not the \term{same}
  1208. \gexample{The strings \f{"FOO"} and \f{"foo"} are different under
  1209. \funref{equal} but not under \funref{equalp}.}
  1210. \gentry{digit} \Noun\ (in a \term{radix})
  1211. a \term{character} that is among the possible digits (\f{0} to \f{9},
  1212. \f{A} to \f{Z}, and \f{a} to \f{z}) and that is defined to have an
  1213. associated numeric weight as a digit in that \term{radix}.
  1214. \Seesection\Digits.
  1215. \gentry{dimension} \Noun\
  1216. 1. a non-negative \term{integer} indicating the number of
  1217. \term{objects} an \term{array} can hold along one axis.
  1218. If the \term{array} is a \term{vector} with a \term{fill pointer},
  1219. the \term{fill pointer} is ignored.
  1220. \gexample{The second dimension of that array is 7.}
  1221. 2. an axis of an array.
  1222. \gexample{This array has six dimensions.}
  1223. \gentry{direct instance} \Noun\ (of a \term{class} $C$)
  1224. an \term{object} whose \term{class} is $C$ itself,
  1225. rather than some \term{subclass} of $C$.
  1226. \gexample{The function \funref{make-instance} always returns a
  1227. direct instance of the class which is (or is named by)
  1228. its first argument.}
  1229. \gentry{direct subclass} \Noun\ (of a \term{class} $C\sub{1}$)
  1230. a \term{class} $C\sub{2}$,
  1231. such that $C\sub{1}$ is a \term{direct superclass} of $C\sub{2}$.
  1232. \gentry{direct superclass} \Noun\ (of a \term{class} $C\sub{1}$)
  1233. a \term{class} $C\sub{2}$ which was explicitly designated as
  1234. a \term{superclass} of $C\sub{1}$ in the definition of $C\sub{1}$.
  1235. \gentry{disestablish} \TransitiveVerb\
  1236. to withdraw the \term{establishment} of
  1237. an \term{object},
  1238. a \term{binding},
  1239. an \term{exit point},
  1240. a \term{tag},
  1241. a \term{handler},
  1242. a \term{restart},
  1243. or an \term{environment}.
  1244. \gentry{disjoint} \Noun\ (of \term{types})
  1245. having no \term{elements} in common.
  1246. \gentry{dispatching macro character} \Noun\
  1247. a \term{macro character} that has an associated table that specifies
  1248. the \term{function} to be called for each \term{character} that is
  1249. seen following the \term{dispatching macro character}.
  1250. \Seefun{make-dispatch-macro-character}.
  1251. \gentry{displaced array} \Noun\
  1252. %Alternatively (from an old definition of make-array):
  1253. % ...an indirect or shared \term{array} that shares its contents...
  1254. an \term{array} which has no storage of its own, but which is instead
  1255. indirected to the storage of another \term{array}, called its
  1256. \term{target}, at a specified offset, in such a way that any attempt
  1257. to \term{access} the \term{displaced array} implicitly references the
  1258. \term{target} \term{array}.
  1259. \gentry{distinct} \Adjective\
  1260. not \term{identical}.
  1261. \gentry{documentation string} \Noun\ (in a defining \term{form})
  1262. A \term{literal} \term{string} which because of the context in which
  1263. it appears (rather than because of some intrinsically observable
  1264. aspect of the \term{string}) is taken as documentation.
  1265. In some cases, the \term{documentation string} is saved in such a
  1266. way that it can later be obtained by supplying either an \term{object},
  1267. or by supplying a \term{name} and a ``kind'' to \thefunction{documentation}.
  1268. \gexample{The body of code in a \macref{defmacro} form can be preceded
  1269. by a documentation string of kind \misc{function}.}
  1270. \gentry{dot} \Noun\
  1271. the \term{standard character} that is variously called
  1272. ``full stop,''
  1273. ``period,''
  1274. or ``dot'' (\f{.}).
  1275. \Seefigure\StdCharsThree.
  1276. %Maybe separate into adjective so we can say "(possibly dotted) list" etc. -kmp 7-May-91
  1277. \gentry{dotted list} \Noun\
  1278. a \term{list} which has a terminating \term{atom} that is not \nil.
  1279. (An \term{atom} by itself is not a \term{dotted list}, however.)
  1280. \gentry{dotted pair} \Noun\
  1281. 1. a \term{cons} whose \term{cdr} is a \term{non-list}.
  1282. 2. any \term{cons}, used to emphasize the use of the \term{cons}
  1283. as a symmetric data pair.
  1284. \gentry{double float} \Noun\
  1285. an \term{object} \oftype{double-float}.
  1286. \gentry{double-quote} \Noun\
  1287. the \term{standard character} that is variously called
  1288. ``quotation mark''
  1289. or ``double quote'' (\f{"}).
  1290. \Seefigure\StdCharsThree.
  1291. \gentry{dynamic binding} \Noun\
  1292. a \term{binding} in a \term{dynamic environment}.
  1293. \gentry{dynamic environment} \Noun\
  1294. that part of an \term{environment} that contains \term{bindings}
  1295. with \term{dynamic extent}. A \term{dynamic environment} contains,
  1296. %!!! Moon: This phrase ["among other things"] always scares me. Is it necessary?
  1297. among other things:
  1298. \term{exit points} established by \specref{unwind-protect},
  1299. and
  1300. \term{bindings} of
  1301. \term{dynamic variables},
  1302. \term{exit points} established by \specref{catch},
  1303. \term{condition handlers},
  1304. and
  1305. \term{restarts}.
  1306. %%!!! The CLIM folks want to be able to say:
  1307. %% ``the parameter x has dynamic extent''
  1308. %% and have it imply that:
  1309. %% (a) ``the implementation of the indicated function
  1310. %% may declare the argument to be dynamic extent''
  1311. %% and
  1312. %% (b) ``it is permissible to pass an object which was
  1313. %% the value of a variable which had been declared dynamic extent''
  1314. %% -kmp 30-Jan-92
  1315. \gentry{dynamic extent} \Noun\
  1316. an \term{extent} whose duration is bounded by points of
  1317. \term{establishment} and \term{disestablishment} within the execution
  1318. of a particular \term{form}. \Seeterm{indefinite extent}.
  1319. \gexample{Dynamic variable bindings have dynamic extent.}
  1320. \gentry{dynamic scope} \Noun\
  1321. \term{indefinite scope} along with \term{dynamic extent}.
  1322. \gentry{dynamic variable} \Noun\
  1323. a \term{variable} the \term{binding} for which is in the \term{dynamic environment}.
  1324. \Seemisc{special}.
  1325. \indextab{E}
  1326. \gentry{echo stream} \Noun\
  1327. a \term{stream} \oftype{echo-stream}.
  1328. \gentry{effective method} \Noun\
  1329. the combination of \term{applicable methods} that are executed
  1330. when a \term{generic function} is invoked with a particular sequence
  1331. of \term{arguments}.
  1332. \gentry{element} \Noun\
  1333. 1. (of a \term{list})
  1334. an \term{object} that is the \term{car} of one of the \term{conses}
  1335. that comprise the \term{list}.
  1336. 2. (of an \term{array})
  1337. an \term{object} that is stored in the \term{array}.
  1338. 3. (of a \term{sequence})
  1339. an \term{object} that is an \term{element} of the \term{list} or \term{array}
  1340. that is the \term{sequence}.
  1341. 4. (of a \term{type})
  1342. an \term{object} that is a member of the set of \term{objects}
  1343. designated by the \term{type}.
  1344. 5. (of an \term{input} \term{stream})
  1345. a \term{character} or \term{number} (as appropriate to the
  1346. \term{element type} of the \term{stream})
  1347. that is among the ordered series of \term{objects} that can be
  1348. read from the \term{stream} (using \funref{read-char} or \funref{read-byte},
  1349. as appropriate to the \term{stream}).
  1350. 6. (of an \term{output} \term{stream})
  1351. a \term{character} or \term{number} (as appropriate to the
  1352. \term{element type} of the \term{stream})
  1353. that is among the ordered series of \term{objects} that has been
  1354. or will be written to the \term{stream} (using \funref{write-char}
  1355. or \funref{write-byte}, as appropriate to the \term{stream}).
  1356. 7. (of a \term{class}) a \term{generalized instance} of the \term{class}.
  1357. \gentry{element type} \Noun\
  1358. 1. (of an \term{array}) the \term{array element type} of the \term{array}.
  1359. 2. (of a \term{stream}) the \term{stream element type} of the \term{stream}.
  1360. \gentry{em} \Noun\ \Traditional\
  1361. a context-dependent unit of measure commonly used in typesetting,
  1362. equal to the displayed width of of a letter ``M'' in the current font.
  1363. (The letter ``M'' is traditionally chosen because it is typically
  1364. represented by the widest \term{glyph} in the font, and other characters'
  1365. widths are typically fractions of an \term{em}. In implementations providing
  1366. non-Roman characters with wider characters than ``M,'' it is permissible
  1367. for another character to be the \term{implementation-defined} reference character
  1368. for this measure, and for ``M'' to be only a fraction of an \term{em}
  1369. wide.)
  1370. In a fixed width font, a line with \i{n} characters is \i{n}
  1371. \term{ems} wide; in a variable width font, \i{n} \term{ems} is the
  1372. expected upper bound on the width of such a line.
  1373. \gentry{empty list} \Noun\
  1374. the \term{list} containing no \term{elements}. \Seeterm{()}.
  1375. \gentry{empty type} \Noun\
  1376. the \term{type} that contains no \term{elements}, and that is
  1377. a \term{subtype} of all \term{types} (including itself).
  1378. \Seeterm{nil}.
  1379. \gentry{end of file} \Noun\
  1380. 1. the point in an \term{input} \term{stream} beyond which there is
  1381. no further data.
  1382. Whether or not there is such a point on an \term{interactive stream}
  1383. is \term{implementation-defined}.
  1384. 2. a \term{situation} that occurs upon an attempt to obtain data from an
  1385. \term{input stream} that is at the \term{end of file}\meaning{1}.
  1386. %% This might be handy sometime...
  1387. %
  1388. % \gentry{end of line} \Noun\
  1389. % the termination of a line of text,
  1390. % whether by a \term{newline} or an \term{end of file}.
  1391. \gentry{environment} \Noun\
  1392. 1. a set of \term{bindings}. \Seesection\IntroToEnvs.
  1393. 2. an \term{environment object}.
  1394. \gexample{\funref{macroexpand} takes an optional environment argument.}
  1395. \gentry{environment object} \Noun\
  1396. an \term{object} representing a set of \term{lexical bindings},
  1397. used in the processing of a \term{form} to provide meanings for
  1398. \term{names} within that \term{form}.
  1399. \gexample{\funref{macroexpand} takes an optional environment argument.}
  1400. (The \term{object} \nil\ when used as an \term{environment object}
  1401. denotes the \term{null lexical environment};
  1402. the \term{values} of \term{environment parameters}
  1403. to \term{macro functions} are \term{objects}
  1404. of \term{implementation-dependent} nature which represent the
  1405. \term{environment}\meaning{1} in which the corresponding \term{macro form}
  1406. is to be expanded.)
  1407. \Seesection\EnvObjs.
  1408. \gentry{environment parameter} \Noun\
  1409. A \term{parameter} in a \term{defining form} $f$ for which there is no corresponding
  1410. \term{argument}; instead, this \term{parameter} receives as its value an
  1411. \term{environment} \term{object} which corresponds to the
  1412. \term{lexical environment} in which the \term{defining form} $f$ appeared.
  1413. %!!! Moon: I disagree with 1 and 2, "undefined consequences" /= "defined to signal an error"
  1414. \gentry{error} \Noun\
  1415. 1. (only in the phrase ``is an error'')
  1416. a \term{situation} in which the semantics of a program are not specified,
  1417. and in which the consequences are undefined.
  1418. 2. a \term{condition} which represents an \term{error} \term{situation}.
  1419. \Seesection\ErrorTerms.
  1420. 3. an \term{object} \oftype{error}.
  1421. \gentry{error output} \Noun\
  1422. the \term{output} \term{stream} which is the \term{value} of the \term{dynamic variable}
  1423. \varref{*error-output*}.
  1424. \gentry{escape} \Noun, \Adjective\
  1425. 1. \Noun\ a \term{single escape} or a \term{multiple escape}.
  1426. 2. \Adjective\ \term{single escape} or \term{multiple escape}.
  1427. %!!!! RPG doesn't think this definition is really adequate,
  1428. % especially for declarations.
  1429. \gentry{establish} \TransitiveVerb\
  1430. to build or bring into being
  1431. a \term{binding},
  1432. a \term{declaration},
  1433. an \term{exit point},
  1434. a \term{tag},
  1435. a \term{handler},
  1436. a \term{restart},
  1437. or an \term{environment}.
  1438. \gexample{\specref{let} establishes lexical bindings.}
  1439. %% Experimental definition not installed. -kmp 26-Jan-92
  1440. % \gentry{establish} \TransitiveVerb\
  1441. % 1. (an \term{environment}) to build or bring into being.
  1442. % 2. (a \term{binding},
  1443. % a \term{declaration},
  1444. % an \term{exit point},
  1445. % a \term{tag},
  1446. % a \term{handler},
  1447. % a \term{restart})
  1448. % to \term{establish}\meaning{1} an augmented \term{environment}
  1449. % in which that entity is \term{active}, applicable, present, or visible.
  1450. % \gexample{\specref{let} establishes lexical bindings.}
  1451. \gentry{evaluate} \TransitiveVerb\ (a \term{form} or an \term{implicit progn})
  1452. to \term{execute} the \term{code} represented by the \term{form}
  1453. (or the series of \term{forms} making up the \term{implicit progn})
  1454. by applying the rules of \term{evaluation},
  1455. returning zero or more values.
  1456. \gentry{evaluation} \Noun\
  1457. a model whereby \term{forms} are \term{executed}, returning zero or more values.
  1458. Such execution might be implemented directly in one step by an interpreter
  1459. or in two steps by first \term{compiling} the \term{form} and then
  1460. \term{executing} the \term{compiled} \term{code}; this choice is
  1461. dependent both on context and the nature of the \term{implementation},
  1462. but in any case is not in general detectable by any program. The evaluation
  1463. model is designed in such a way that a \term{conforming implementation}
  1464. might legitimately have only a compiler and no interpreter, or vice versa.
  1465. \Seesection\EvaluationModel.
  1466. \gentry{evaluation environment} \Noun\
  1467. a \term{run-time environment} in which macro expanders
  1468. and code specified by \specref{eval-when} to be evaluated
  1469. are evaluated. All evaluations initiated by the \term{compiler}
  1470. take place in the \term{evaluation environment}.
  1471. \gentry{execute} \TransitiveVerb\ \Traditional\ (\term{code})
  1472. to perform the imperative actions represented by the \term{code}.
  1473. \gentry{execution time} \Noun\
  1474. the duration of time that \term{compiled code} is being \term{executed}.
  1475. \gentry{exhaustive partition} \Noun\ (of a \term{type})
  1476. a set of \term{pairwise} \term{disjoint} \term{types} that form an
  1477. \term{exhaustive union}.
  1478. \gentry{exhaustive union} \Noun\ (of a \term{type})
  1479. a set of \term{subtypes} of the \term{type},
  1480. whose union contains all \term{elements} of that \term{type}.
  1481. \gentry{exit point} \Noun\
  1482. a point in a \term{control form}
  1483. % Moon would remove this first phrase, but I think the phrases refer
  1484. % respectively to BLOCK, UNWIND-PROTECT, and TAGBODY. -kmp 14-Nov-91
  1485. from which (\eg \specref{block}),
  1486. through which (\eg \specref{unwind-protect}),
  1487. or to which (\eg \specref{tagbody})
  1488. control and possibly \term{values} can be transferred both actively by using
  1489. another \term{control form} and passively through the normal control and
  1490. data flow of \term{evaluation}.
  1491. \gexample{\specref{catch} and \specref{block} establish bindings for
  1492. exit points to which \specref{throw} and \specref{return-from},
  1493. respectively, can transfer control and values;
  1494. \specref{tagbody} establishes a binding for an exit point
  1495. with lexical extent to which \specref{go} can transfer control;
  1496. and \specref{unwind-protect} establishes an exit point
  1497. through which control might be transferred by
  1498. operators such as \specref{throw}, \specref{return-from},
  1499. and \specref{go}.}
  1500. \gentry{explicit return} \Noun\
  1501. the act of transferring control (and possibly \term{values})
  1502. to a \term{block} by using \specref{return-from} (or \macref{return}).
  1503. \gentry{explicit use} \Noun\ (of a \term{variable} $V$ in a \term{form} $F$)
  1504. a reference to $V$ that is directly apparent in the normal semantics of $F$;
  1505. \ie that does not expose any undocumented details of the
  1506. \term{macro expansion} of the \term{form} itself.
  1507. References to $V$ exposed by expanding \term{subforms} of $F$ are, however,
  1508. considered to be \term{explicit uses} of $V$.
  1509. %Barmar prefers "printed representation of" to "textual notation for"
  1510. \gentry{exponent marker} \Noun\
  1511. a character that is used in the textual notation for a \term{float}
  1512. to separate the mantissa from the exponent.
  1513. The characters defined as \term{exponent markers} in the \term{standard readtable}
  1514. are shown in \thenextfigure.
  1515. For more information, \seesection\CharacterSyntax.
  1516. \gexample{The exponent marker `d' in `3.0d7' indicates
  1517. that this number is to be represented as a double float.}
  1518. \tablefigtwo{Exponent Markers}{Marker}{Meaning}{
  1519. \f{D} or \f{d} & \typeref{double-float} \cr
  1520. \f{E} or \f{e} & \typeref{float} (see \varref{*read-default-float-format*}) \cr
  1521. \f{F} or \f{f} & \typeref{single-float} \cr
  1522. \f{L} or \f{l} & \typeref{long-float} \cr
  1523. \f{S} or \f{s} & \typeref{short-float} \cr
  1524. }
  1525. \gentry{export} \TransitiveVerb\ (a \term{symbol} in a \term{package})
  1526. to add the \term{symbol} to the list of \term{external symbols} of the
  1527. \term{package}.
  1528. \gentry{exported} \Adjective\ (of a \term{symbol} in a \term{package})
  1529. being an \term{external symbol} of the \term{package}.
  1530. \gentry{expressed adjustability} \Noun\ (of an \term{array})
  1531. a \term{generalized boolean} that is conceptually (but not necessarily actually)
  1532. associated with the \term{array}, representing whether the \term{array}
  1533. is \term{expressly adjustable}.
  1534. \SeetermAlso{actual adjustability}.
  1535. \gentry{expressed array element type} \Noun\ (of an \term{array})
  1536. the \term{type} which is the \term{array element type}
  1537. implied by a \term{type declaration} for the \term{array},
  1538. or which is the requested \term{array element type} at its time
  1539. of creation, prior to any selection of an \term{upgraded array element type}.
  1540. (\clisp\ does not provide a way of detecting this \term{type}
  1541. directly at run time, but an \term{implementation} is permitted
  1542. to make assumptions about the \term{array}'s contents and
  1543. the operations which may be performed on the \term{array} when
  1544. this \term{type} is noted during code analysis, even if those
  1545. assumptions would not be valid in general for the
  1546. \term{upgraded array element type} of the
  1547. \term{expressed array element type}.)
  1548. % KMP->Barmar:
  1549. % You remarked that you think you can rely on array-element-type and
  1550. % upgraded-xxx-type. This is intended to permit a compiler optimizer like:
  1551. % (frob (make-array n :element-type '(unsigned-byte 13)))
  1552. % to turn into
  1553. % (si:frob-internal-signed-byte-13
  1554. % (make-array n :element-type '(unsigned-byte 13)))
  1555. % even though the implementation knows that (unsigned-byte 16) will really get
  1556. % allocated, let's say. Moreover, the compiler should be permitted to warn about:
  1557. % (defun foo (n)
  1558. % (let ((x (make-array n :element-type '(unsigned-byte 2))))
  1559. % (setf (aref x 0) 17.) ...))
  1560. % It generally will not warn about:
  1561. % (defun foo (n)
  1562. % (bar (make-array n :element-type '(unsigned-byte 2))))
  1563. % (defun bar (a)
  1564. % (setf (aref x 0) 17.) ...)
  1565. % I agree that it should never warn about:
  1566. % (defun foo (n)
  1567. % (let ((x (make-array n :element-type '(unsigned-byte 2))))
  1568. % (when (type-equivalent-p (array-element-type x) 'fixnum)
  1569. % (setf (aref x 0) 17.) ...)))
  1570. % because this is portably guarded even if it behaves differently on the
  1571. % different implementations to which it is ported.
  1572. %
  1573. % This makes it tough to do the optimization I'm referring to, but I don't
  1574. % think that implementations which really properly check that the path is
  1575. % clear between the allocation and the reference should be forbidden from
  1576. % flagging an unconditional non-portability.
  1577. %
  1578. % Barmar:
  1579. % You apparently understand the point I was making. If you can come up
  1580. % with a concise way to phrase it in the definition of "declared XXX
  1581. % type", that's all I was hoping for. If not, I don't think this is a
  1582. % critical issue.
  1583. \gentry{expressed complex part type} \Noun\ (of a \term{complex})
  1584. the \term{type} which is implied as the \term{complex part type}
  1585. by a \term{type declaration} for the \term{complex},
  1586. or which is the requested \term{complex part type} at its time of
  1587. creation, prior to any selection of an \term{upgraded complex part type}.
  1588. (\clisp\ does not provide a way of detecting this \term{type}
  1589. directly at run time, but an \term{implementation} is permitted
  1590. to make assumptions about the operations which may be performed on
  1591. the \term{complex} when this \term{type} is noted during code
  1592. analysis, even if those assumptions would not be valid in general for
  1593. the \term{upgraded complex part type} of the
  1594. \term{expressed complex part type}.)
  1595. \gentry{expression} \Noun\
  1596. 1. an \term{object}, often used to emphasize the use
  1597. of the \term{object} to encode or represent information in a specialized
  1598. format, such as program text.
  1599. \gexample{The second expression in a \specref{let} form is a list
  1600. of bindings.}
  1601. 2. the textual notation used to notate an \term{object} in a source file.
  1602. \gexample{The expression \f{'sample} is equivalent to \f{(quote sample)}.}
  1603. \gentry{expressly adjustable} \Adjective\ (of an \term{array})
  1604. being \term{actually adjustable} by virtue of an explicit request for this
  1605. characteristic having been made at the time of its creation.
  1606. All \term{arrays} that are \term{expressly adjustable}
  1607. are \term{actually adjustable},
  1608. but not necessarily vice versa.
  1609. \gentry{extended character} \Noun\
  1610. a \term{character}
  1611. \issue{CHARACTER-VS-CHAR:LESS-INCONSISTENT-SHORT}
  1612. \oftype{extended-char}:
  1613. \endissue{CHARACTER-VS-CHAR:LESS-INCONSISTENT-SHORT}
  1614. a \term{character} that is not a \term{base character}.
  1615. \gentry{extended function designator} \Noun\
  1616. a \term{designator} for a \term{function}; that is,
  1617. an \term{object} that denotes a \term{function}
  1618. and that is one of:
  1619. a \term{function name} (denoting the \term{function} it names
  1620. in the \term{global environment}),
  1621. or a \term{function} (denoting itself).
  1622. The consequences are undefined if
  1623. a \term{function name} is used as an
  1624. \term{extended function designator} but
  1625. it does not have a global definition as a \term{function},
  1626. or if it is a \term{symbol}
  1627. that has a global definition as a \term{macro} or a \term{special form}.
  1628. \SeetermAlso{function designator}.
  1629. \gentry{extended lambda list} \Noun\
  1630. a list resembling an \term{ordinary lambda list} in form and purpose, but
  1631. offering additional syntax or functionality not available in an
  1632. \term{ordinary lambda list}.
  1633. \gexample{\macref{defmacro} uses extended lambda lists.}
  1634. \gentry{extension} \Noun\
  1635. a facility in an \term{implementation} of \clisp\
  1636. that is not specified by this standard.
  1637. \gentry{extent} \Noun\
  1638. the interval of time during which a \term{reference} to
  1639. an \term{object},
  1640. a \term{binding},
  1641. an \term{exit point},
  1642. a \term{tag},
  1643. a \term{handler},
  1644. a \term{restart},
  1645. or an \term{environment} is defined.
  1646. \gentry{external file format} \Noun\
  1647. an \term{object} of \term{implementation-dependent} nature which determines
  1648. one of possibly several \term{implementation-dependent} ways in which
  1649. \term{characters} are encoded externally in a \term{character} \term{file}.
  1650. \gentry{external file format designator} \Noun\
  1651. a \term{designator} for an \term{external file format}; that is,
  1652. an \term{object} that denotes an \term{external file format}
  1653. and that is one of:
  1654. the \term{symbol} \kwd{default}
  1655. (denoting an \term{implementation-dependent} default
  1656. \term{external file format} that can accomodate at least
  1657. the \term{base characters}),
  1658. some other \term{object} defined by the \term{implementation} to be
  1659. an \term{external file format designator}
  1660. (denoting an \term{implementation-defined} \term{external file format}),
  1661. or some other \term{object} defined by the \term{implementation} to be
  1662. an \term{external file format}
  1663. (denoting itself).
  1664. \gentry{external symbol} \Noun\ (of a \term{package})
  1665. a \term{symbol} that is part of the `external interface' to the \term{package}
  1666. and that are \term{inherited}\meaning{3} by any other \term{package}
  1667. that \term{uses} the \term{package}.
  1668. When using the \term{Lisp reader},
  1669. if a \term{package prefix} is used,
  1670. the \term{name} of an \term{external symbol} is separated
  1671. from the \term{package} \term{name} by a single \term{package marker}
  1672. while
  1673. the \term{name} of an \term{internal symbol} is separated
  1674. from the \term{package} \term{name} by a double \term{package marker};
  1675. \seesection\SymbolTokens.
  1676. \gentry{externalizable object} \Noun\
  1677. an \term{object} that can be used as a \term{literal} \term{object}
  1678. in \term{code} to be processed by the \term{file compiler}.
  1679. \indextab{F}
  1680. \gentry{false} \Noun\
  1681. the \term{symbol} \nil,
  1682. used to represent the failure of a \term{predicate} test.
  1683. \gentry{fbound} \pronounced{\Stress{ef}\stress{ba\.und}} \Adjective\
  1684. (of a \term{function name})
  1685. \term{bound} in the \term{function} \term{namespace}.
  1686. (The \term{names} of \term{macros} and \term{special operators} are \term{fbound},
  1687. but the nature and \term{type} of the \term{object} which is their \term{value}
  1688. is \term{implementation-dependent}.
  1689. \issue{SETF-FUNCTIONS-AGAIN:MINIMAL-CHANGES}
  1690. Further, defining a \term{setf expander} \param{F} does not cause the \term{setf function}
  1691. \f{(setf \param{F})} to become defined; as such, if there is a such a definition
  1692. of a \term{setf expander} \param{F}, the \term{function} \f{(setf \param{F})}
  1693. can be \term{fbound} if and only if, by design or coincidence, a
  1694. function binding for \f{(setf \param{F})} has been independently established.)
  1695. \endissue{SETF-FUNCTIONS-AGAIN:MINIMAL-CHANGES}
  1696. \Seefuns{fboundp} and \funref{symbol-function}.
  1697. \gentry{feature} \Noun\
  1698. 1. an aspect or attribute
  1699. of \clisp,
  1700. of the \term{implementation},
  1701. or of the \term{environment}.
  1702. 2. a \term{symbol} that names a \term{feature}\meaning{1}.
  1703. \Seesection\Features.
  1704. \gexample{The \kwd{ansi-cl} feature is present in all conforming implementations.}
  1705. \gentry{feature expression} \Noun\
  1706. A boolean combination of \term{features} used by the \f{\#+} and \f{\#-}
  1707. \term{reader macros} in order to direct conditional \term{reading} of
  1708. \term{expressions} by the \term{Lisp reader}.
  1709. \Seesection\FeatureExpressions.
  1710. \gentry{features list} \Noun\
  1711. the \term{list} that is \thevalueof{*features*}.
  1712. \gentry{file} \Noun\
  1713. a named entry in a \term{file system},
  1714. having an \term{implementation-defined} nature.
  1715. \gentry{file compiler} \Noun\
  1716. any \term{compiler} which \term{compiles} \term{source code} contained in a \term{file},
  1717. producing a \term{compiled file} as output. The \funref{compile-file}
  1718. function is the only interface to such a \term{compiler} provided by \clisp,
  1719. but there might be other, \term{implementation-defined} mechanisms for
  1720. invoking the \term{file compiler}.
  1721. \gentry{file position} \Noun\ (in a \term{stream})
  1722. a non-negative \term{integer} that represents a position in the \term{stream}.
  1723. Not all \term{streams} are able to represent the notion of \term{file position};
  1724. in the description of any \term{operator} which manipulates \term{file positions},
  1725. the behavior for \term{streams} that don't have this notion must be explicitly stated.
  1726. For \term{binary} \term{streams}, the \term{file position} represents the number
  1727. of preceding \term{bytes} in the \term{stream}.
  1728. For \term{character} \term{streams}, the constraint is more relaxed:
  1729. \term{file positions} must increase monotonically, the amount of the increase
  1730. between \term{file positions} corresponding to any two successive characters
  1731. in the \term{stream} is \term{implementation-dependent}.
  1732. \gentry{file position designator} \Noun\ (in a \term{stream})
  1733. a \term{designator} for a \term{file position} in that \term{stream}; that is,
  1734. the symbol \kwd{start}
  1735. (denoting \f{0}, the first \term{file position} in that \term{stream}),
  1736. the symbol \kwd{end}
  1737. (denoting the last \term{file position} in that \term{stream};
  1738. \ie the position following the last \term{element} of the \term{stream}),
  1739. or a \term{file position} (denoting itself).
  1740. \gentry{file stream} \Noun\
  1741. an \term{object} \oftype{file-stream}.
  1742. \gentry{file system} \Noun\
  1743. a facility which permits aggregations of data to be stored in named
  1744. \term{files} on some medium that is external to the \term{Lisp image}
  1745. and that therefore persists from \term{session} to \term{session}.
  1746. \issue{PATHNAME-HOST-PARSING:RECOGNIZE-LOGICAL-HOST-NAMES}
  1747. \gentry{filename} \Noun\
  1748. %% This term applies some places to logical pathnames and doesn't work very well
  1749. %% for them, so I tried to make it more abstract. -kmp 28-Aug-93
  1750. % an \term{implementation-dependent} handle, not necessarily ever directly
  1751. % represented as an \term{object}, that can be used to refer to a \term{file}
  1752. % in a \term{file system}. \term{Physical pathnames} and
  1753. % \term{physical pathname} \term{namestrings} are two kinds of \term{objects}
  1754. % that substitute for \term{filenames} in \clisp. The specific relationship
  1755. % between \term{filenames} and \term{physical pathnames}, and between
  1756. % \term{filenames} and \term{namestrings}, is \term{implementation-defined}.
  1757. a handle, not necessarily ever directly represented as an \term{object},
  1758. that can be used to refer to a \term{file} in a \term{file system}.
  1759. \term{Pathnames} and \term{namestrings} are two kinds of \term{objects}
  1760. that substitute for \term{filenames} in \clisp.
  1761. \endissue{PATHNAME-HOST-PARSING:RECOGNIZE-LOGICAL-HOST-NAMES}
  1762. \gentry{fill pointer} \Noun\ (of a \term{vector})
  1763. an \term{integer} associated with a \term{vector} that represents the
  1764. index above which no \term{elements} are \term{active}.
  1765. (A \term{fill pointer} is a non-negative \term{integer} no
  1766. larger than the total number of \term{elements} in the \term{vector}.
  1767. Not all \term{vectors} have \term{fill pointers}.)
  1768. \gentry{finite} \Adjective\ (of a \term{type})
  1769. having a finite number of \term{elements}.
  1770. \gexample{The type specifier \f{(integer 0 5)} denotes a finite type,
  1771. but the type specifiers \typeref{integer} and \f{(integer 0)} do not.}
  1772. \gentry{fixnum} \Noun\
  1773. an \term{integer} \oftype{fixnum}.
  1774. \gentry{float} \Noun\
  1775. an \term{object} \oftype{float}.
  1776. \issue{IGNORE-USE-TERMINOLOGY:VALUE-ONLY}
  1777. \gentry{for-value} \Adjective\ (of a \term{reference} to a \term{binding})
  1778. being a \term{reference} that \term{reads}\meaning{1}
  1779. the \term{value} of the \term{binding}.
  1780. \endissue{IGNORE-USE-TERMINOLOGY:VALUE-ONLY}
  1781. \gentry{form} \Noun\
  1782. 1. any \term{object} meant to be \term{evaluated}.
  1783. 2. a \term{symbol},
  1784. a \term{compound form},
  1785. or a \term{self-evaluating object}.
  1786. 3. (for an \term{operator}, as in ``\metavar{operator} \term{form}'')
  1787. a \term{compound form} having that \term{operator} as its first element.
  1788. \gexample{A \specref{quote} form is a constant form.}
  1789. \gentry{formal argument} \Noun\ \Traditional\
  1790. a \term{parameter}.
  1791. \gentry{formal parameter} \Noun\ \Traditional\
  1792. a \term{parameter}.
  1793. \issue{FORMAT-STRING-ARGUMENTS:SPECIFY}
  1794. \gentry{format} \TransitiveVerb\ (a \term{format control} and \term{format arguments})
  1795. to perform output as if by \funref{format},
  1796. using the \term{format string} and \term{format arguments}.
  1797. \endissue{FORMAT-STRING-ARGUMENTS:SPECIFY}
  1798. \issue{FORMAT-STRING-ARGUMENTS:SPECIFY}
  1799. \gentry{format argument} \Noun\
  1800. an \term{object} which is used as data by functions such as \funref{format}
  1801. which interpret \term{format controls}.
  1802. \endissue{FORMAT-STRING-ARGUMENTS:SPECIFY}
  1803. \gentry{format control} \Noun\
  1804. a \term{format string},
  1805. or a \term{function} that obeys the \term{argument} conventions
  1806. for a \term{function} returned by \themacro{formatter}.
  1807. \Seesection\CompilingFormatStrings.
  1808. \gentry{format directive} \Noun\
  1809. 1. a sequence of \term{characters} in a \term{format string}
  1810. which is introduced by a \term{tilde}, and which is specially
  1811. interpreted by \term{code} which processes \term{format strings}
  1812. to mean that some special operation should be performed, possibly
  1813. involving data supplied by the \term{format arguments} that
  1814. accompanied the \term{format string}. \Seefun{format}.
  1815. \gexample{In \f{"~D base 10 = ~8R"}, the character
  1816. sequences `\f{~D}' and `\f{~8R}' are format directives.}
  1817. 2. the conceptual category of all \term{format directives}\meaning{1}
  1818. which use the same dispatch character.
  1819. \gexample{Both \f{"~3d"} and \f{"~3,'0D"} are valid uses of the
  1820. `\f{~D}' format directive.}
  1821. \gentry{format string} \Noun\
  1822. a \term{string} which can contain both ordinary text and \term{format directives},
  1823. and which is used in conjunction with \term{format arguments} to describe how
  1824. text output should be formatted by certain functions, such as \funref{format}.
  1825. \gentry{free declaration} \Noun\
  1826. a declaration that is not a \term{bound declaration}.
  1827. \Seemisc{declare}.
  1828. \gentry{fresh} \Adjective\
  1829. 1. (of an \term{object} \term{yielded} by a \term{function})
  1830. having been newly-allocated by that \term{function}.
  1831. (The caller of a \term{function} that returns a \term{fresh} \term{object}
  1832. may freely modify the \term{object} without fear that such modification will
  1833. compromise the future correct behavior of that \term{function}.)
  1834. 2. (of a \term{binding} for a \term{name})
  1835. newly-allocated; not shared with other \term{bindings} for that \term{name}.
  1836. \gentry{freshline} \Noun\
  1837. a conceptual operation on a \term{stream}, implemented by \thefunction{fresh-line}
  1838. and by the \term{format directive} \f{~\&}, which advances the display position
  1839. to the beginning of the next line (as if a \term{newline} had been typed, or
  1840. \thefunction{terpri} had been called)
  1841. unless the \term{stream} is already known to be positioned at the beginning of a line.
  1842. Unlike \term{newline}, \term{freshline} is not a \term{character}.
  1843. \gentry{funbound} \pronounced{\Stress{ef}unba\.und} \Noun\ (of a \term{function name})
  1844. not \term{fbound}.
  1845. \gentry{function} \Noun\
  1846. %% 6.2.2 26
  1847. 1. an \term{object} representing code,
  1848. which can be \term{called} with zero or more \term{arguments},
  1849. and which produces zero or more \term{values}.
  1850. 2. an \term{object} \oftype{function}.
  1851. \gentry{function block name} \Noun\ (of a \term{function name})
  1852. The \term{symbol} that would be used as the name of an \term{implicit block}
  1853. which surrounds the body of a \term{function} having that \term{function name}.
  1854. If the \term{function name} is a \term{symbol}, its \term{function block name} is
  1855. the \term{function name} itself.
  1856. If the \term{function name} is a \term{list} whose \term{car} is \misc{setf}
  1857. and whose \term{cadr} is a \term{symbol}, its \term{function block name} is
  1858. the \term{symbol} that is the \term{cadr} of the \term{function name}.
  1859. An \term{implementation} which supports additional kinds of \term{function names}
  1860. must specify for each how the corresponding \term{function block name} is computed.
  1861. \gentry{function cell} \Noun\ \Traditional\ (of a \term{symbol})
  1862. The \term{place} which holds the \term{definition} of the
  1863. global \term{function} \term{binding}, if any, named by that \term{symbol},
  1864. and which is \term{accessed} by \funref{symbol-function}.
  1865. \Seeterm{cell}.
  1866. \gentry{function designator} \Noun\
  1867. a \term{designator} for a \term{function}; that is,
  1868. an \term{object} that denotes a \term{function}
  1869. and that is one of:
  1870. a \term{symbol} (denoting the \term{function} named by that \term{symbol}
  1871. in the \term{global environment}),
  1872. or a \term{function} (denoting itself).
  1873. The consequences are undefined if
  1874. a \term{symbol} is used as a \term{function designator} but
  1875. it does not have a global definition as a \term{function},
  1876. or it has a global definition as a \term{macro} or a \term{special form}.
  1877. \SeetermAlso{extended function designator}.
  1878. \gentry{function form} \Noun\
  1879. a \term{form} that is a \term{list} and that has a first element
  1880. which is the \term{name} of a \term{function} to be called on
  1881. \term{arguments} which are the result of \term{evaluating} subsequent
  1882. elements of the \term{function form}.
  1883. \gentry{function name} \Noun\
  1884. 1. (in an \term{environment})
  1885. A \term{symbol} or a \term{list} \f{(setf \i{symbol})}
  1886. that is the \term{name} of a \term{function} in that \term{environment}.
  1887. % \editornote{KMP: I think that in many (but obviously not all) cases where
  1888. % `function name' is used, `operator name' might be intended.
  1889. % I'll be looking for such cases later, but if readers happen
  1890. % to notice any of these, they should feel free to mark them.}%!!!
  1891. % !!! Moon: Not always with respect to an environment, see e.g., function block name.
  1892. % Also, can sometimes name a macro or special operator or be fbound.
  1893. %% Added per Boyer/Kaufmann/Moore #8,#9 (by X3J13 vote at May 4-5, 1994 meeting)
  1894. %% -kmp 9-May-94
  1895. 2. A \term{symbol} or a \term{list} \f{(setf \i{symbol})}.
  1896. \gentry{functional evaluation} \Noun\
  1897. the process of extracting a \term{functional value} from a \term{function name}
  1898. %Added for Moon:
  1899. or a \term{lambda expression}.
  1900. The evaluator performs \term{functional evaluation}
  1901. implicitly when it encounters a \term{function name}
  1902. %Added for Moon:
  1903. or a \term{lambda expression}
  1904. in the \term{car} of a \term{compound form},
  1905. or explicitly when it encounters a \specref{function} \term{special form}.
  1906. Neither a use of a \term{symbol} as a \term{function designator} nor a
  1907. use of \thefunction{symbol-function} to extract the \term{functional value}
  1908. of a \term{symbol} is considered a \term{functional evaluation}.
  1909. \gentry{functional value} \Noun\
  1910. 1. (of a \term{function name} $N$ in an \term{environment} $E$)
  1911. The \term{value} of the \term{binding} named $N$
  1912. in the \term{function} \term{namespace} for \term{environment} $E$;
  1913. %!!! Moon: Wrong. Function cell only holds global binding.
  1914. that is, the contents of the \term{function cell} named $N$ in
  1915. \term{environment} $E$.
  1916. 2. (of an \term{fbound} \term{symbol} $S$)
  1917. the contents of the \term{symbol}'s \term{function cell}; that is,
  1918. the \term{value} of the \term{binding} named $S$
  1919. in the \term{function} \term{namespace} of the \term{global environment}.
  1920. (A \term{name} that is a \term{macro name} in the \term{global environment}
  1921. or is a \term{special operator} might or might not be \term{fbound}.
  1922. %!!! Moon: Isn't this ["might or might not be fbound"] contrary to CLtL?
  1923. % I don't have the book here, so I didn't check.
  1924. But if $S$ is such a \term{name} and is \term{fbound}, the specific
  1925. nature of its \term{functional value} is \term{implementation-dependent};
  1926. in particular, it might or might not be a \term{function}.)
  1927. \gentry{further compilation} \Noun\
  1928. \term{implementation-dependent} compilation beyond \term{minimal compilation}.
  1929. Further compilation is permitted to take place at \term{run time}.
  1930. \gexample{Block compilation and generation of machine-specific instructions
  1931. are examples of further compilation.}
  1932. \indextab{G}
  1933. \gentry{general} \Adjective\ (of an \term{array})
  1934. having \term{element type} \typeref{t},
  1935. and consequently able to have any \term{object} as an \term{element}.
  1936. \gentry{generalized boolean} \Noun\
  1937. an \term{object} used as a truth value, where the symbol~\nil\
  1938. represents \term{false} and all other \term{objects} represent \term{true}.
  1939. \Seeterm{boolean}.
  1940. \gentry{generalized instance} \Noun\ (of a \term{class})
  1941. an \term{object} the \term{class} of which is either that \term{class} itself,
  1942. or some subclass of that \term{class}. (Because of the correspondence between
  1943. types and classes, the term ``generalized instance of $X$''
  1944. implies ``object of type $X$'' and in cases where $X$ is a \term{class}
  1945. (or \term{class name}) the reverse is also true.
  1946. The former terminology emphasizes the view of $X$ as a \term{class}
  1947. while the latter emphasizes the view of $X$ as a \term{type specifier}.)
  1948. \gentry{generalized reference} \Noun\
  1949. a reference to a location storing an \term{object} as if to a \term{variable}.
  1950. (Such a reference can be either to \term{read} or \term{write} the location.)
  1951. \Seesection\GeneralizedReference. See also \term{place}.
  1952. \gentry{generalized synonym stream} \Noun\ (with a \term{synonym stream symbol})
  1953. 1. (to a \term{stream})
  1954. a \term{synonym stream} to the \term{stream},
  1955. or a \term{composite stream} which has as a target
  1956. a \term{generalized synonym stream} to the \term{stream}.
  1957. 2. (to a \term{symbol})
  1958. a \term{synonym stream} to the \term{symbol},
  1959. or a \term{composite stream} which has as a target
  1960. a \term{generalized synonym stream} to the \term{symbol}.
  1961. \gentry{generic function} \Noun\
  1962. a \term{function} whose behavior depends on the \term{classes} or
  1963. identities of the arguments supplied to it and whose parts include, among
  1964. other things, a set of \term{methods}, a \term{lambda list}, and a
  1965. \term{method combination} type.
  1966. \gentry{generic function lambda list} \Noun\
  1967. A \term{lambda list} that is used to describe data flow into a \term{generic function}.
  1968. \Seesection\GFLambdaLists.
  1969. \gentry{gensym} \Noun\ \Traditional\
  1970. an \term{uninterned} \term{symbol}.
  1971. \Seefun{gensym}.
  1972. %!!! Needs work. -kmp 25-Oct-90
  1973. \gentry{global declaration} \Noun\
  1974. a \term{form} that makes certain kinds of information about
  1975. code globally available; that is, a \funref{proclaim} \term{form}
  1976. or a \macref{declaim} \term{form}.
  1977. \gentry{global environment} \Noun\
  1978. that part of an \term{environment} that contains \term{bindings}
  1979. with \term{indefinite scope} and \term{indefinite extent}.
  1980. \gentry{global variable} \Noun\
  1981. a \term{dynamic variable} or a \term{constant variable}.%Is this really right?
  1982. \gentry{glyph} \Noun\
  1983. a visual representation.
  1984. \gexample{Graphic characters have associated glyphs.}
  1985. \gentry{go} \Verb\
  1986. to transfer control to a \term{go point}.
  1987. \Seespec{go}.
  1988. \gentry{go point}
  1989. one of possibly several \term{exit points} that are \term{established}
  1990. by \specref{tagbody} (or other abstractions, such as \macref{prog},
  1991. which are built from \specref{tagbody}).
  1992. \gentry{go tag} \Noun\
  1993. the \term{symbol} or \term{integer} that, within the \term{lexical scope}
  1994. of a \specref{tagbody} \term{form}, names an \term{exit point}
  1995. \term{established} by that \specref{tagbody} \term{form}.
  1996. \gentry{graphic} \Adjective\ (of a \term{character})
  1997. being a ``printing'' or ``displayable'' \term{character}
  1998. that has a standard visual representation
  1999. as a single \term{glyph}, such as \f{A} or \f{*} or \f{=}.
  2000. \term{Space} is defined to be \term{graphic}.
  2001. Of the \term{standard characters}, all but \term{newline} are \term{graphic}.
  2002. \Seeterm{non-graphic}.
  2003. \indextab{H}
  2004. \gentry{handle} \Verb\ (of a \term{condition} being \term{signaled})
  2005. to perform a non-local transfer of control, terminating the ongoing
  2006. \term{signaling} of the \term{condition}.
  2007. \gentry{handler} \Noun\
  2008. %I'm expecting that we might have a need for other kinds of handlers. -kmp 31-Dec-90
  2009. a \term{condition handler}.
  2010. \gentry{hash table} \Noun\
  2011. an \term{object} \oftype{hash-table},
  2012. which provides a mapping from \term{keys} to \term{values}.
  2013. \gentry{home package} \Noun\ (of a \term{symbol})
  2014. the \term{package}, if any, which is contents of the \term{package cell}
  2015. of the \term{symbol}, and which dictates how the \term{Lisp printer}
  2016. prints the \term{symbol} when it is not \term{accessible} in the
  2017. \term{current package}. (\term{Symbols} which have \nil\ in their
  2018. \term{package cell} are said to have no \term{home package}, and also
  2019. to be \term{apparently uninterned}.)
  2020. \indextab{I}
  2021. \gentry{I/O customization variable} \Noun\
  2022. one of the \term{stream variables} in \thenextfigure,
  2023. or some other (\term{implementation-defined}) \term{stream variable}
  2024. that is defined by the \term{implementation}
  2025. to be an \term{I/O customization variable}.
  2026. \showthree{Standardized I/O Customization Variables}{
  2027. *debug-io*&*error-io*&query-io*\cr
  2028. *standard-input*&*standard-output*&*trace-output*\cr
  2029. }
  2030. \gentry{identical} \Adjective\
  2031. the \term{same} under \funref{eq}.
  2032. \gentry{identifier} \Noun\
  2033. 1. a \term{symbol} used to identify or to distinguish \term{names}.
  2034. 2. a \term{string} used the same way.
  2035. \gentry{immutable} \Adjective\
  2036. not subject to change, either because no \term{operator} is provided which is
  2037. capable of effecting such change or because some constraint exists which
  2038. prohibits the use of an \term{operator} that might otherwise be capable of
  2039. effecting such a change. Except as explicitly indicated otherwise,
  2040. \term{implementations} are not required to detect attempts to modify
  2041. \term{immutable} \term{objects} or \term{cells}; the consequences of attempting
  2042. to make such modification are undefined.
  2043. \gexample{Numbers are immutable.}
  2044. \gentry{implementation} \Noun\
  2045. a system, mechanism, or body of \term{code} that implements the semantics of \clisp.
  2046. \gentry{implementation limit} \Noun\
  2047. a restriction imposed by an \term{implementation}.
  2048. \gentry{implementation-defined} \Adjective\
  2049. \term{implementation-dependent}, but required by this specification to be
  2050. defined by each \term{conforming implementation} and to be documented by
  2051. the corresponding implementor.
  2052. %When this was moved to this position from far away, it became redundant. -kmp 14-Nov-91
  2053. % %I added this after asking Quinquevirate if they thought I should.
  2054. % %No one objected, and RPG thought it was a good idea. -kmp 17-Oct-90
  2055. % A \term{conforming implementation} is required to document its treatment of each
  2056. % item in this specification which is marked \term{implementation-defined}.
  2057. \gentry{implementation-dependent} \Adjective\
  2058. describing a behavior or aspect of \clisp\ which has been deliberately left
  2059. unspecified, that might be defined in some \term{conforming implementations}
  2060. but not in others, and whose details may differ between \term{implementations}.
  2061. %I added this after asking Quinquevirate if they thought I should.
  2062. %No one objected, and RPG thought it was a good idea. -kmp 17-Oct-90
  2063. A \term{conforming implementation} is encouraged (but not required) to
  2064. document its treatment of each item in this specification which is
  2065. marked \term{implementation-dependent}, although in some cases
  2066. such documentation might simply identify the item as ``undefined.''
  2067. \gentry{implementation-independent} \Adjective\
  2068. used to identify or emphasize a behavior or aspect of \clisp\ which does
  2069. not vary between \term{conforming implementations}.
  2070. \gentry{implicit block} \Noun\
  2071. a \term{block} introduced by a \term{macro form}
  2072. rather than by an explicit \specref{block} \term{form}.
  2073. \gentry{implicit compilation} \Noun\
  2074. \term{compilation} performed during \term{evaluation}.
  2075. \gentry{implicit progn} \Noun\
  2076. an ordered set of adjacent \term{forms} appearing in another
  2077. \term{form}, and defined by their context in that \term{form}
  2078. to be executed as if within a \specref{progn}.
  2079. \gentry{implicit tagbody} \Noun\
  2080. an ordered set of adjacent \term{forms} and/or \term{tags}
  2081. appearing in another \term{form}, and defined by their context
  2082. in that \term{form} to be executed as if within a \specref{tagbody}.
  2083. \gentry{import} \TransitiveVerb\ (a \term{symbol} into a \term{package})
  2084. to make the \term{symbol} be \term{present} in the \term{package}.
  2085. \gentry{improper list} \Noun\
  2086. a \term{list} which is not a \term{proper list}:
  2087. a \term{circular list} or a \term{dotted list}.
  2088. \gentry{inaccessible} \Adjective\
  2089. not \term{accessible}.
  2090. \gentry{indefinite extent} \Noun\
  2091. an \term{extent} whose duration is unlimited.
  2092. \gexample{Most Common Lisp objects have indefinite extent.}
  2093. \gentry{indefinite scope} \Noun\
  2094. \term{scope} that is unlimited.
  2095. \gentry{indicator} \Noun\
  2096. a \term{property indicator}.
  2097. \gentry{indirect instance} \Noun\ (of a \term{class} $C\sub 1$)
  2098. an \term{object} of \term{class} $C\sub 2$,
  2099. where $C\sub 2$ is a \term{subclass} of $C\sub 1$.
  2100. \gexample{An integer is an indirect instance of the class \typeref{number}.}
  2101. \gentry{inherit} \TransitiveVerb\
  2102. 1. to receive or acquire a quality, trait, or characteristic;
  2103. to gain access to a feature defined elsewhere.
  2104. 2. (a \term{class}) to acquire the structure and behavior defined
  2105. by a \term{superclass}.
  2106. 3. (a \term{package}) to make \term{symbols} \term{exported} by another
  2107. \term{package} \term{accessible} by using \funref{use-package}.
  2108. \issue{KMP-COMMENTS-ON-SANDRA-COMMENTS:X3J13-MAR-92}
  2109. \gentry{initial pprint dispatch table} \Noun\
  2110. \thevalueof{*print-pprint-dispatch*} at the time the \term{Lisp image} is started.
  2111. \endissue{KMP-COMMENTS-ON-SANDRA-COMMENTS:X3J13-MAR-92}
  2112. \issue{WITH-STANDARD-IO-SYNTAX-READTABLE:X3J13-MAR-91}
  2113. \gentry{initial readtable} \Noun\
  2114. \thevalueof{*readtable*} at the time the \term{Lisp image} is started.
  2115. \endissue{WITH-STANDARD-IO-SYNTAX-READTABLE:X3J13-MAR-91}
  2116. \issue{PLIST-DUPLICATES:ALLOW}
  2117. \gentry{initialization argument list} \Noun\
  2118. % a \term{proper list} of \term{keyword/value pairs}
  2119. % (of initialization argument \term{names} and \term{values})
  2120. a \term{property list} of initialization argument \term{names} and \term{values}
  2121. used in the protocol for initializing and reinitializing \term{instances} of \term{classes}.
  2122. \Seesection\ObjectCreationAndInit.
  2123. \endissue{PLIST-DUPLICATES:ALLOW}
  2124. \gentry{initialization form} \Noun\
  2125. a \term{form} used to supply the initial \term{value} for a \term{slot}
  2126. or \term{variable}.
  2127. \gexample{The initialization form for a slot in a \macref{defclass} form
  2128. is introduced by the keyword \kwd{initform}.}
  2129. \gentry{input} \Adjective\ (of a \term{stream})
  2130. supporting input operations (\ie being a ``data source'').
  2131. An \term{input} \term{stream} might also be an \term{output} \term{stream},
  2132. in which case it is sometimes called a \term{bidirectional} \term{stream}.
  2133. \Seefun{input-stream-p}.
  2134. \gentry{instance} \Noun\
  2135. 1. a \term{direct instance}.
  2136. 2. a \term{generalized instance}.
  2137. 3. an \term{indirect instance}.
  2138. \gentry{integer} \Noun\
  2139. an \term{object} \oftype{integer}, which represents a mathematical integer.
  2140. \gentry{interactive stream} \Noun\
  2141. a \term{stream} on which it makes sense to perform interactive querying.
  2142. \Seesection\InteractiveStreams.
  2143. %!!! The usage "interning a symbol" is used but not described here.
  2144. % e.g., see the type entry for KEYWORD.
  2145. \gentry{intern} \TransitiveVerb\
  2146. 1. (a \term{string} in a \term{package})
  2147. to look up the \term{string} in the \term{package},
  2148. returning either a \term{symbol} with that \term{name}
  2149. which was already \term{accessible} in the \term{package}
  2150. or a newly created \term{internal symbol} of the \term{package}
  2151. with that \term{name}.
  2152. 2. \Idiomatic\ generally, to observe a protocol whereby objects which
  2153. are equivalent or have equivalent names under some predicate defined
  2154. by the protocol are mapped to a single canonical object.
  2155. \gentry{internal symbol} \Noun\ (of a \term{package})
  2156. a symbol which is \term{accessible} in the \term{package},
  2157. but which is not an \term{external symbol} of the \term{package}.
  2158. \gentry{internal time} \Noun\
  2159. \term{time}, represented as an \term{integer} number of \term{internal time units}.
  2160. \term{Absolute} \term{internal time} is measured as an offset
  2161. from an arbitrarily chosen, \term{implementation-dependent} base.
  2162. \Seesection\InternalTime.
  2163. %% 25.4.1 21
  2164. \gentry{internal time unit} \Noun\
  2165. a unit of time equal to $1/n$ of a second,
  2166. for some \term{implementation-defined} \term{integer} value of $n$.
  2167. \Seevar{internal-time-units-per-second}.
  2168. \gentry{interned} \Adjective\ \Traditional\
  2169. 1. (of a \term{symbol}) \term{accessible}\meaning{3} in
  2170. any \term{package}.
  2171. 2. (of a \term{symbol} in a specific \term{package})
  2172. \term{present} in that \term{package}.
  2173. \gentry{interpreted function} \Noun\
  2174. a \term{function} that is not a \term{compiled function}.
  2175. (It is possible for there to be a \term{conforming implementation} which
  2176. has no \term{interpreted functions}, but a \term{conforming program}
  2177. must not assume that all \term{functions} are \term{compiled functions}.)
  2178. \gentry{interpreted implementation} \Noun\
  2179. an \term{implementation} that uses an execution strategy for
  2180. \term{interpreted functions} that does not involve a one-time semantic
  2181. analysis pre-pass, and instead uses ``lazy'' (and sometimes repetitious)
  2182. semantic analysis of \term{forms} as they are encountered during execution.
  2183. \gentry{interval designator} \Noun\ (of \term{type} $T$)
  2184. an ordered pair of \term{objects} that describe a \term{subtype} of $T$
  2185. by delimiting an interval on the real number line.
  2186. \Seesection\IntervalDesignators.
  2187. \gentry{invalid} \Noun, \Adjective\
  2188. 1. \Noun\
  2189. a possible \term{constituent trait} of a \term{character}
  2190. which if present signifies that the \term{character}
  2191. cannot ever appear in a \term{token}
  2192. except under the control of a \term{single escape} \term{character}.
  2193. For details, \seesection\ConstituentChars.
  2194. 2. \Adjective\ (of a \term{character})
  2195. being a \term{character} that has \term{syntax type} \term{constituent}
  2196. in the \term{current readtable} and that has the
  2197. \term{constituent trait} \term{invalid}\meaning{1}.
  2198. \Seefigure\ConstituentTraitsOfStdChars.
  2199. \issue{DOTIMES-IGNORE:X3J13-MAR91}
  2200. \gentry{iteration form} \Noun\
  2201. a \term{compound form} whose \term{operator} is named in \thenextfigure,
  2202. or a \term{compound form} that has an \term{implementation-defined} \term{operator}
  2203. and that is defined by the \term{implementation} to be an \term{iteration form}.
  2204. \displaythree{Standardized Iteration Forms}{
  2205. do&do-external-symbols&dotimes\cr
  2206. do*&do-symbols&loop\cr
  2207. do-all-symbols&dolist&\cr
  2208. }
  2209. % Moon: Is this correct? I think WITH variables in LOOP are not iteration variables.
  2210. % KMP: Looks right to me. See issue DOTIMES-IGNORE.
  2211. \gentry{iteration variable} \Noun\
  2212. a \term{variable} $V$, the \term{binding} for which was created by an
  2213. \term{explicit use} of $V$ in an \term{iteration form}.
  2214. \endissue{DOTIMES-IGNORE:X3J13-MAR91}
  2215. \indextab{K}
  2216. \gentry{key} \Noun\
  2217. an \term{object} used for selection during retrieval.
  2218. \Seeterm{association list}, \term{property list}, and \term{hash table}.
  2219. Also, \seesection\SequenceConcepts.
  2220. \gentry{keyword} \Noun\
  2221. 1. a \term{symbol} the \term{home package} of which is \thepackage{keyword}.
  2222. 2. any \term{symbol}, usually but not necessarily in \thepackage{keyword},
  2223. that is used as an identifying marker in keyword-style argument passing.
  2224. \Seemisc{lambda}.
  2225. 3. \Idiomatic\ a \term{lambda list keyword}.
  2226. \gentry{keyword parameter} \Noun\
  2227. A \term{parameter} for which a corresponding keyword \term{argument}
  2228. is optional. (There is no such thing as a required keyword \term{argument}.)
  2229. If the \term{argument} is not supplied, a default value is used.
  2230. \SeetermAlso{supplied-p parameter}.
  2231. \issue{PLIST-DUPLICATES:ALLOW}
  2232. \gentry{keyword/value pair} \Noun\
  2233. two successive \term{elements} (a \term{keyword} and a \term{value},
  2234. respectively) of a \term{property list}.
  2235. \endissue{PLIST-DUPLICATES:ALLOW}
  2236. \indextab{L}
  2237. \gentry{lambda combination} \Noun\ \Traditional\
  2238. a \term{lambda form}.
  2239. \gentry{lambda expression} \Noun\
  2240. a \term{list} which can be used in place of a \term{function name} in
  2241. certain contexts to denote a \term{function} by directly describing its
  2242. behavior rather than indirectly by referring to the name of an
  2243. \term{established} \term{function}; its name derives from the fact that its
  2244. first element is the \term{symbol} \f{lambda}.
  2245. \Seemisc{lambda}.
  2246. \gentry{lambda form} \Noun\
  2247. a \term{form} that is a \term{list} and that has a first element
  2248. which is a \term{lambda expression} representing a \term{function}
  2249. to be called on \term{arguments} which are the result of \term{evaluating}
  2250. subsequent elements of the \term{lambda form}.
  2251. \gentry{lambda list} \Noun\
  2252. a \term{list} that specifies a set of \term{parameters}
  2253. (sometimes called \term{lambda variables})
  2254. and a protocol for receiving \term{values} for those \term{parameters};
  2255. that is,
  2256. an \term{ordinary lambda list},
  2257. an \term{extended lambda list},
  2258. or a \term{modified lambda list}.
  2259. \gentry{lambda list keyword} \Noun\
  2260. a \term{symbol} whose \term{name} begins with \term{ampersand}
  2261. and that is specially recognized in a \term{lambda list}.
  2262. Note that no \term{standardized} \term{lambda list keyword}
  2263. is in \thepackage{keyword}.
  2264. \gentry{lambda variable} \Noun\
  2265. a \term{formal parameter}, used to emphasize the \term{variable}'s
  2266. relation to the \term{lambda list} that \term{established} it.
  2267. \gentry{leaf} \Noun\
  2268. 1. an \term{atom} in a \term{tree}\meaning{1}.
  2269. 2. a terminal node of a \term{tree}\meaning{2}.
  2270. \gentry{leap seconds} \Noun\
  2271. additional one-second intervals of time that are occasionally inserted
  2272. into the true calendar by official timekeepers as a correction similar
  2273. to ``leap years.'' All \clisp\ \term{time} representations ignore
  2274. \term{leap seconds}; every day is assumed to be exactly 86400 seconds
  2275. long.
  2276. \gentry{left-parenthesis} \Noun\
  2277. the \term{standard character} ``\f{(}'',
  2278. that is variously called
  2279. ``left parenthesis''
  2280. or ``open parenthesis''
  2281. \Seefigure\StdCharsThree.
  2282. \gentry{length} \Noun\ (of a \term{sequence})
  2283. the number of \term{elements} in the \term{sequence}.
  2284. (Note that if the \term{sequence} is a \term{vector} with a
  2285. \term{fill pointer}, its \term{length} is the same as the
  2286. \term{fill pointer} even though the total allocated size of
  2287. the \term{vector} might be larger.)
  2288. \gentry{lexical binding} \Noun\
  2289. a \term{binding} in a \term{lexical environment}.
  2290. \gentry{lexical closure} \Noun\
  2291. a \term{function} that, when invoked on \term{arguments}, executes
  2292. the body of a \term{lambda expression} in the \term{lexical environment}
  2293. that was captured at the time of the creation of the \term{lexical closure},
  2294. augmented by \term{bindings} of the \term{function}'s \term{parameters}
  2295. to the corresponding \term{arguments}.
  2296. \gentry{lexical environment} \Noun\
  2297. that part of the \term{environment} that contains \term{bindings}
  2298. whose names have \term{lexical scope}. A \term{lexical environment}
  2299. contains, among other things:
  2300. %!!! Moon: [re "among other things"] scary!
  2301. ordinary \term{bindings} of \term{variable} \term{names} to \term{values},
  2302. lexically \term{established} \term{bindings} of \term{function names}
  2303. to \term{functions},
  2304. \term{macros},
  2305. \term{symbol macros},
  2306. \term{blocks},
  2307. \term{tags},
  2308. and
  2309. \term{local declarations} (\seemisc{declare}).
  2310. \gentry{lexical scope} \Noun\
  2311. \term{scope} that is limited to a spatial or textual region within the
  2312. establishing \term{form}.
  2313. %!!! Moon: [re "names" in this example] "bindings"?
  2314. \gexample{The names of parameters to a function normally are lexically scoped.}
  2315. \gentry{lexical variable} \Noun\
  2316. a \term{variable} the \term{binding} for which is in the
  2317. \term{lexical environment}.
  2318. %!!! KMP wonders if the "Lisp xxx" terms shouldn't be renamed to not require
  2319. % the use of the prefix "Lisp".
  2320. %!!! Moon: Too long?
  2321. % KMP: Maybe I'll separate out into a concept section.
  2322. \gentry{Lisp image} \Noun\
  2323. a running instantiation of a \clisp\ \term{implementation}.
  2324. A \term{Lisp image} is characterized by a single address space in which any
  2325. \term{object} can directly refer to any another in conformance with this specification,
  2326. and by a single, common, \term{global environment}.
  2327. (External operating systems sometimes call this a
  2328. ``core image,''
  2329. ``fork,''
  2330. ``incarnation,''
  2331. ``job,''
  2332. or ``process.'' Note however, that the issue of a ``process'' in such
  2333. an operating system is technically orthogonal to the issue of a \term{Lisp image}
  2334. being defined here. Depending on the operating system, a single ``process''
  2335. might have multiple \term{Lisp images}, and multiple ``processes'' might reside
  2336. in a single \term{Lisp image}. Hence, it is the idea of a fully shared address
  2337. space for direct reference among all \term{objects} which is the defining
  2338. characteristic. Note, too, that two ``processes'' which have a communication
  2339. area that permits the sharing of some but not all \term{objects} are considered
  2340. to be distinct \term{Lisp images}.)
  2341. \gentry{Lisp printer} \Noun\ \Traditional\
  2342. the procedure that prints the character representation of an
  2343. \term{object} onto a \term{stream}. (This procedure is implemented
  2344. by \thefunction{write}.)
  2345. \gentry{Lisp read-eval-print loop} \Noun\ \Traditional\
  2346. an endless loop that \term{reads}\meaning{2} a \term{form},
  2347. \term{evaluates} it,
  2348. and prints (\ie \term{writes}\meaning{2}) the results.
  2349. In many \term{implementations},
  2350. the default mode of interaction with \clisp\ during program development
  2351. is through such a loop.
  2352. \gentry{Lisp reader} \Noun\ \Traditional\
  2353. the procedure that parses character representations of \term{objects}
  2354. from a \term{stream}, producing \term{objects}.
  2355. (This procedure is implemented by \thefunction{read}.)
  2356. %!!! KMP wants more words about the readtable here.
  2357. \gentry{list} \Noun\
  2358. 1. a chain of \term{conses} in which the \term{car} of each
  2359. \term{cons} is an \term{element} of the \term{list},
  2360. and the \term{cdr} of each \term{cons} is either the next
  2361. link in the chain or a terminating \term{atom}.
  2362. \SeetermAlso{proper list},
  2363. \term{dotted list},
  2364. or \term{circular list}.
  2365. 2. the \term{type} that is the union of \typeref{null} and \typeref{cons}.
  2366. \gentry{list designator} \Noun\
  2367. a \term{designator} for a \term{list} of \term{objects}; that is,
  2368. an \term{object} that denotes a \term{list}
  2369. and that is one of:
  2370. a \term{non-nil} \term{atom}
  2371. (denoting a \term{singleton} \term{list}
  2372. whose \term{element} is that \term{non-nil} \term{atom})
  2373. or a \term{proper list} (denoting itself).
  2374. \gentry{list structure} \Noun\ (of a \term{list})
  2375. the set of \term{conses} that make up the \term{list}.
  2376. Note that while the \term{car}\meaning{1b} component of each such \term{cons}
  2377. is part of the \term{list structure},
  2378. the \term{objects} that are \term{elements} of the \term{list}
  2379. (\ie the \term{objects} that are the \term{cars}\meaning{2} of each \term{cons}
  2380. in the \term{list})
  2381. are not themselves part of its \term{list structure},
  2382. even if they are \term{conses},
  2383. except in the (\term{circular}\meaning{2})
  2384. case where the \term{list}
  2385. actually contains one of its \term{tails} as an \term{element}.
  2386. (The \term{list structure} of a \term{list} is sometimes redundantly
  2387. referred to as its ``top-level list structure'' in order to emphasize
  2388. that any \term{conses} that are \term{elements} of the \term{list}
  2389. are not involved.)
  2390. \gentry{literal} \Adjective\ (of an \term{object})
  2391. referenced directly in a program rather than being computed by the program;
  2392. that is,
  2393. appearing as data in a \specref{quote} \term{form},
  2394. or, if the \term{object} is a \term{self-evaluating object},
  2395. appearing as unquoted data.
  2396. \gexample{In the form \f{(cons "one" '("two"))},
  2397. the expressions \f{"one"}, \f{("two")}, and \f{"two"}
  2398. are literal objects.}
  2399. \gentry{load} \TransitiveVerb\ (a \term{file})
  2400. to cause the \term{code} contained in the \term{file} to be \term{executed}.
  2401. \Seefun{load}.
  2402. \gentry{load time} \Noun\
  2403. the duration of time that the loader is \term{loading} \term{compiled code}.
  2404. \gentry{load time value} \Noun\
  2405. an \term{object} referred to in \term{code} by a \specref{load-time-value}
  2406. \term{form}. The \term{value} of such a \term{form} is some specific
  2407. \term{object} which can only be computed in the run-time \term{environment}.
  2408. In the case of \term{file} \term{compilation}, the \term{value} is
  2409. computed once as part of the process of \term{loading} the \term{compiled file},
  2410. and not again. \Seespec{load-time-value}.
  2411. \gentry{loader} \Noun\
  2412. a facility that is part of Lisp and that \term{loads} a \term{file}.
  2413. \Seefun{load}.
  2414. \gentry{local declaration} \Noun\
  2415. an \term{expression} which may appear only in specially designated
  2416. positions of certain \term{forms}, and which provides information about
  2417. the code contained within the containing \term{form};
  2418. that is, a \misc{declare} \term{expression}.
  2419. \gentry{local precedence order} \Noun\ (of a \term{class})
  2420. a \term{list} consisting of the \term{class} followed by its
  2421. \term{direct superclasses} in the order mentioned in the defining
  2422. \term{form} for the \term{class}.
  2423. \gentry{local slot} \Noun\ (of a \term{class})
  2424. a \term{slot} \term{accessible} in only one \term{instance},
  2425. namely the \term{instance} in which the \term{slot} is allocated.
  2426. % Or maybe... {Request for comment sent to Moon. -kmp 28-Feb-91}
  2427. %
  2428. % \gentry{local slot} \Noun\
  2429. % 1. (of an \term{instance}) a \term{slot} which is allocated in and \term{accessible}
  2430. % to just that \term{instance}.
  2431. % 2. (of a \term{class}) a \term{slot} which is allocated anew for each
  2432. % \term{generalized instance} of the \term{class}.
  2433. \gentry{logical block} \Noun\
  2434. a conceptual grouping of related output used by the \term{pretty printer}.
  2435. \Seemac{pprint-logical-block} and \secref\DynamicControlofOutput.
  2436. \gentry{logical host} \Noun\
  2437. an \term{object} of \term{implementation-dependent} nature
  2438. that is used as the representation of a ``host'' in a \term{logical pathname},
  2439. and that has an associated set of translation rules for converting
  2440. \term{logical pathnames} belonging to that host into \term{physical pathnames}.
  2441. \Seesection\LogicalPathnames.
  2442. \gentry{logical host designator} \Noun\
  2443. a \term{designator} for a \term{logical host}; that is,
  2444. an \term{object} that denotes a \term{logical host}
  2445. and that is one of:
  2446. a \term{string} (denoting the \term{logical host} that it names),
  2447. or a \term{logical host} (denoting itself).
  2448. (Note that because the representation of a \term{logical host}
  2449. is \term{implementation-dependent},
  2450. it is possible that an \term{implementation} might represent
  2451. a \term{logical host} as the \term{string} that names it.)
  2452. \gentry{logical pathname} \Noun\
  2453. an \term{object} \oftype{logical-pathname}.
  2454. \gentry{long float} \Noun\
  2455. an \term{object} \oftype{long-float}.
  2456. \gentry{loop keyword} \Noun\ \Traditional\
  2457. a symbol that is a specially recognized part of the syntax of
  2458. an extended \macref{loop} \term{form}. Such symbols are recognized by their
  2459. \term{name} (using \funref{string=}), not by their identity; as such, they
  2460. may be in any package. A \term{loop keyword} is not a \term{keyword}.
  2461. \gentry{lowercase} \Adjective\ (of a \term{character})
  2462. being among \term{standard characters} corresponding to
  2463. the small letters \f{a} through \f{z},
  2464. or being some other \term{implementation-defined} \term{character}
  2465. that is defined by the \term{implementation} to be \term{lowercase}.
  2466. \Seesection\CharactersWithCase.
  2467. \indextab{M}
  2468. \gentry{macro} \Noun\
  2469. 1. a \term{macro form}
  2470. 2. a \term{macro function}.
  2471. 3. a \term{macro name}.
  2472. \gentry{macro character} \Noun\
  2473. a \term{character} which, when encountered by the \term{Lisp reader}
  2474. in its main dispatch loop, introduces a \term{reader macro}\meaning{1}.
  2475. (\term{Macro characters} have nothing to do with \term{macros}.)
  2476. \gentry{macro expansion} \Noun\
  2477. 1. the process of translating a \term{macro form} into another
  2478. \term{form}.
  2479. 2. the \term{form} resulting from this process.
  2480. \gentry{macro form} \Noun\
  2481. %!!! JonL thinks "stands for" is "shaky"
  2482. a \term{form} that stands for another \term{form}
  2483. (\eg for the purposes of abstraction, information hiding,
  2484. or syntactic convenience);
  2485. that is,
  2486. either a \term{compound form} whose first element is a \term{macro name},
  2487. or a \term{form} that is a \term{symbol} that names a
  2488. \term{symbol macro}.
  2489. \gentry{macro function} \Noun\
  2490. a \term{function} of two arguments, a \term{form} and an
  2491. \term{environment}, that implements \term{macro expansion} by
  2492. producing a \term{form} to be evaluated in place of the original
  2493. argument \term{form}.
  2494. \gentry{macro lambda list} \Noun\
  2495. an \term{extended lambda list} used in \term{forms} that \term{establish}
  2496. \term{macro} definitions, such as \macref{defmacro} and \macref{macrolet}.
  2497. \Seesection\MacroLambdaLists.
  2498. \gentry{macro name} \Noun\
  2499. a \term{name} for which \funref{macro-function} returns \term{true}
  2500. and which when used as the first element of a \term{compound form}
  2501. identifies that \term{form} as a \term{macro form}.
  2502. \gentry{macroexpand hook} \Noun\
  2503. the \term{function} that is \thevalueof{*macroexpand-hook*}.
  2504. \gentry{mapping} \Noun\
  2505. 1. a type of iteration in which a \term{function} is successively
  2506. applied to \term{objects} taken from corresponding entries in
  2507. collections such as \term{sequences} or \term{hash tables}.
  2508. 2. \Mathematics\ a relation between two sets in which each element of the
  2509. first set (the ``domain'') is assigned one element of the second
  2510. set (the ``range'').
  2511. \gentry{metaclass} \Noun\
  2512. 1. a \term{class} whose instances are \term{classes}.
  2513. 2. (of an \term{object}) the \term{class} of the \term{class} of the \term{object}.
  2514. \gentry{Metaobject Protocol} \Noun\
  2515. one of many possible descriptions of how a \term{conforming implementation}
  2516. might implement various aspects of the \CLOS. This description is beyond
  2517. the scope of this document, and no \term{conforming implementation} is
  2518. required to adhere to it except as noted explicitly in this specification.
  2519. Nevertheless, its existence helps to establish normative practice,
  2520. and implementors with no reason to diverge from it are encouraged to
  2521. consider making their \term{implementation} adhere to it where possible.
  2522. It is described in detail in \MetaObjectProtocol.
  2523. \gentry{method} \Noun\
  2524. an \term{object} that is part of a \term{generic function} and which
  2525. provides information about how that \term{generic function} should
  2526. behave when its \term{arguments} are \term{objects} of certain
  2527. \term{classes} or with certain identities.
  2528. \gentry{method combination} \Noun\
  2529. 1. generally, the composition of a set of \term{methods} to produce an
  2530. \term{effective method} for a \term{generic function}.
  2531. 2. an object \oftype{method-combination}, which represents the details
  2532. of how the \term{method combination}\meaning{1} for one or more
  2533. specific \term{generic functions} is to be performed.
  2534. \gentry{method-defining form} \Noun\
  2535. a \term{form} that defines a \term{method} for a \term{generic function},
  2536. whether explicitly or implicitly.
  2537. \Seesection\IntroToGFs.
  2538. \gentry{method-defining operator} \Noun\
  2539. an \term{operator} corresponding to a \term{method-defining} \term{form}.
  2540. \Seefigure\StdMethDefOps.
  2541. \gentry{minimal compilation} \Noun\
  2542. actions the \term{compiler} must take at compile time.
  2543. \Seesection\CompilationSemantics.
  2544. \gentry{modified lambda list} \Noun\
  2545. a list resembling an \term{ordinary lambda list} in form and purpose,
  2546. but which deviates in syntax or functionality from the definition of an
  2547. \term{ordinary lambda list}.
  2548. \Seeterm{ordinary lambda list}.
  2549. \gexample{\macref{deftype} uses a modified lambda list.}
  2550. \gentry{most recent} \Adjective\
  2551. innermost;
  2552. that is, having been \term{established} (and not yet \term{disestablished})
  2553. %!!! Moon: This next line looks out of order. Maybe reorganize this description.
  2554. % Put it before the parens? No. Hmm...
  2555. more recently than any other of its kind.
  2556. \gentry{multiple escape} \Noun, \Adjective\
  2557. 1. \Noun\ the \term{syntax type} of a \term{character}
  2558. that is used in pairs to indicate that the enclosed \term{characters}
  2559. are to be treated as \term{alphabetic}\meaning{2} \term{characters}
  2560. with their \term{case} preserved.
  2561. For details, \seesection\MultipleEscapeChar.
  2562. 2. \Adjective\ (of a \term{character})
  2563. having the \term{multiple escape} \term{syntax type}.
  2564. 3. \Noun\ a \term{multiple escape}\meaning{2} \term{character}.
  2565. (In the \term{standard readtable},
  2566. \term{vertical-bar} is a \term{multiple escape} \term{character}.)
  2567. \gentry{multiple values} \Noun\
  2568. 1. more than one \term{value}.
  2569. \gexample{The function \funref{truncate} returns multiple values.}
  2570. 2. a variable number of \term{values}, possibly including zero or one.
  2571. \gexample{The function \funref{values} returns multiple values.}
  2572. 3. a fixed number of values other than one.
  2573. \gexample{The macro \macref{multiple-value-bind} is among the few
  2574. operators in \clisp\ which can detect and manipulate
  2575. multiple values.}
  2576. \indextab{N}
  2577. %!!! Moon: also, of a keyword argument or initarg.
  2578. \gentry{name} \Noun, \TransitiveVerb\
  2579. 1. \Noun\ an \term{identifier} by which an \term{object},
  2580. a \term{binding}, or an \term{exit point}
  2581. %or "tag"
  2582. is referred to by association using a \term{binding}.
  2583. 2. \TransitiveVerb\ to give a \term{name} to.
  2584. 3. \Noun\ (of an \term{object} having a name component)
  2585. the \term{object} which is that component.
  2586. \gexample{The string which is a symbol's name is returned
  2587. by \funref{symbol-name}.}
  2588. 4. \Noun\ (of a \term{pathname})
  2589. a. the name component, returned by \funref{pathname-name}.
  2590. b. the entire namestring, returned by \funref{namestring}.
  2591. 5. \Noun\ (of a \term{character})
  2592. a \term{string} that names the \term{character}
  2593. and that has \term{length} greater than one.
  2594. (All \term{non-graphic} \term{characters} are required to have \term{names}
  2595. unless they have some \term{implementation-defined} \term{attribute}
  2596. which is not \term{null}. Whether or not other \term{characters}
  2597. have \term{names} is \term{implementation-dependent}.)
  2598. \gentry{named constant} \Noun\
  2599. a \term{variable} that is defined by \clisp,
  2600. by the \term{implementation},
  2601. or by user code (\seemac{defconstant})
  2602. to always \term{yield} the same \term{value} when \term{evaluated}.
  2603. \gexample{The value of a named constant may not be changed
  2604. by assignment or by binding.}
  2605. %!!! Moon: "kind" is not defined, but I thin kthis is wrong. Especially if "kind"
  2606. % is similar to "type". Also, should relate to "environment" and section 3.1.
  2607. \gentry{namespace} \Noun\
  2608. 1. \term{bindings} whose denotations are restricted to a particular kind.
  2609. \gexample{The bindings of names to tags is the tag namespace.}
  2610. 2. any \term{mapping} whose domain is a set of \term{names}.
  2611. \gexample{A package defines a namespace.}
  2612. \issue{PATHNAME-HOST-PARSING:RECOGNIZE-LOGICAL-HOST-NAMES}
  2613. \gentry{namestring} \Noun\
  2614. a \term{string} that represents a \term{filename}
  2615. using either the \term{standardized} notation for naming \term{logical pathnames}
  2616. described in \secref\LogPathNamestrings,
  2617. or some \term{implementation-defined} notation for naming a \term{physical pathname}.
  2618. \endissue{PATHNAME-HOST-PARSING:RECOGNIZE-LOGICAL-HOST-NAMES}
  2619. \gentry{newline} \Noun\
  2620. the \term{standard character} \NewlineChar,
  2621. notated for the \term{Lisp reader} as \f{\#\\Newline}.
  2622. \gentry{next method} \Noun\
  2623. the next \term{method} to be invoked with respect to a given
  2624. \term{method} for a particular set of arguments or argument
  2625. \term{classes}.
  2626. %JonL thinks we should add "under standardized method combinations"?
  2627. %Moon thinks maybe not. He says this is about as good as we should expect to get
  2628. % given the space in the glossary.
  2629. \Seesection\ApplyMethCombToSortedMethods.
  2630. \gentry{nickname} \Noun\ (of a \term{package})
  2631. one of possibly several \term{names} that can be used to refer to
  2632. the \term{package} but that is not the primary \term{name}
  2633. of the \term{package}.
  2634. \gentry{nil} \Noun\
  2635. the \term{object} that is at once
  2636. the \term{symbol} named \f{"NIL"} in \thepackage{common-lisp},
  2637. the \term{empty list},
  2638. the \term{boolean} (or \term{generalized boolean}) representing \term{false},
  2639. and the \term{name} of the \term{empty type}.
  2640. %!!! Should other things be here like use of NIL to represent
  2641. % null lexical environment (should there be a term "environment designator"?),
  2642. % use of NIL as an input/output stream designator, etc.?
  2643. \gentry{non-atomic} \Adjective\
  2644. being other than an \term{atom}; \ie being a \term{cons}.
  2645. \gentry{non-constant variable} \Noun\
  2646. a \term{variable} that is not a \term{constant variable}.
  2647. \gentry{non-correctable} \Adjective\ (of an \term{error})
  2648. not intentionally \term{correctable}.
  2649. (Because of the dynamic nature of \term{restarts},
  2650. it is neither possible nor generally useful to completely prohibit
  2651. an \term{error} from being \term{correctable}.
  2652. This term is used in order to express an intent that no special effort
  2653. should be made by \term{code} signaling an \term{error} to make
  2654. that \term{error} \term{correctable};
  2655. however, there is no actual requirement on \term{conforming programs}
  2656. or \term{conforming implementations} imposed by this term.)
  2657. \gentry{non-empty} \Adjective\
  2658. having at least one \term{element}.
  2659. % Replaced by "distinct"
  2660. % \gentry{non-eq} \Adjective\
  2661. % not \term{eq}.
  2662. \gentry{non-generic function} \Noun\
  2663. a \term{function} that is not a \term{generic function}.
  2664. \gentry{non-graphic} \Adjective\ (of a \term{character})
  2665. not \term{graphic}.
  2666. \Seesection\GraphicChars.
  2667. \gentry{non-list} \Noun, \Adjective\
  2668. other than a \term{list}; \ie a \term{non-nil} \term{atom}.
  2669. \gentry{non-local exit} \Noun\
  2670. a transfer of control (and sometimes \term{values}) to
  2671. an \term{exit point} for reasons other than a \term{normal return}.
  2672. \gexample{The operators \specref{go}, \specref{throw},
  2673. and \specref{return-from} cause a non-local exit.}
  2674. \gentry{non-nil} \Noun, \Adjective\
  2675. not \nil. Technically, any \term{object} which is not \nil\ can be
  2676. referred to as \term{true}, but that would tend to imply a unique view
  2677. of the \term{object} as a \term{generalized boolean}.
  2678. Referring to such an \term{object} as \term{non-nil} avoids this implication.
  2679. %!!! Moon: Is this right? Is it a non-empty environment,
  2680. % or any environment other than NIL? Where is this term used?
  2681. \gentry{non-null lexical environment} \Noun\
  2682. a \term{lexical environment} that has additional information not present in
  2683. the \term{global environment}, such as one or more \term{bindings}.
  2684. \gentry{non-simple} \Adjective\
  2685. not \term{simple}.
  2686. %!!! Make a glossary term for "constituent character"?
  2687. %!!! What about "extended token"?
  2688. \gentry{non-terminating} \Adjective\ (of a \term{macro character})
  2689. being such that it is treated as a constituent \term{character}
  2690. when it appears in the middle of an extended token.
  2691. \Seesection\ReaderAlgorithm.
  2692. \gentry{non-top-level form} \Noun\
  2693. a \term{form} that, by virtue of its position as a \term{subform}
  2694. of another \term{form}, is not a \term{top level form}.
  2695. \Seesection\TopLevelForms.
  2696. \gentry{normal return} \Noun\
  2697. the natural transfer of control and \term{values} which occurs after
  2698. the complete \term{execution} of a \term{form}.
  2699. \gentry{normalized} \Adjective, \ANSI, \IEEE\ (of a \term{float})
  2700. conforming to the description of ``normalized'' as described by {\IEEEFloatingPoint}.
  2701. \Seeterm{denormalized}.
  2702. \gentry{null} \Adjective, \Noun\
  2703. 1. \Adjective\
  2704. a. (of a \term{list}) having no \term{elements}: empty. \Seeterm{empty list}.
  2705. b. (of a \term{string}) having a \term{length} of zero.
  2706. (It is common, both within this document and in observed spoken behavior,
  2707. to refer to an empty string by an apparent definite reference,
  2708. as in ``the \term{null} \term{string}'' even though no attempt is made to
  2709. \term{intern}\meaning{2} null strings. The phrase
  2710. ``a \term{null} \term{string}'' is technically more correct,
  2711. but is generally considered awkward by most Lisp programmers.
  2712. As such, the phrase ``the \term{null} \term{string}''
  2713. should be treated as an indefinite reference in all cases
  2714. except for anaphoric references.)
  2715. c. (of an \term{implementation-defined} \term{attribute} of a \term{character})
  2716. An \term{object} to which the value of that \term{attribute} defaults
  2717. if no specific value was requested.
  2718. 2. \Noun\ an \term{object} \oftype{null} (the only such \term{object} being \nil).
  2719. %!!! Moon: Is this correct? has global bindings. what about declarations?
  2720. \gentry{null lexical environment} \Noun\
  2721. the \term{lexical environment} which has no \term{bindings}.
  2722. \gentry{number} \Noun\
  2723. an \term{object} \oftype{number}.
  2724. \gentry{numeric} \Adjective\ (of a \term{character})
  2725. being one of the \term{standard characters} \f{0} through \term{9},
  2726. or being some other \term{graphic} \term{character}
  2727. defined by the \term{implementation} to be \term{numeric}.
  2728. \indextab{O}
  2729. \gentry{object} \Noun\
  2730. 1. any Lisp datum.
  2731. \gexample{The function \funref{cons} creates an object which refers
  2732. to two other objects.}
  2733. 2. (immediately following the name of a \term{type})
  2734. an \term{object} which is of that \term{type}, used to emphasize that the
  2735. \term{object} is not just a \term{name} for an object of that \term{type}
  2736. but really an \term{element} of the \term{type} in cases where \term{objects}
  2737. of that \term{type} (such as \typeref{function} or \typeref{class}) are commonly
  2738. referred to by \term{name}.
  2739. \gexample{The function \funref{symbol-function} takes a function name
  2740. and returns a function object.}
  2741. \gentry{object-traversing} \Adjective\
  2742. operating in succession on components of an \term{object}.
  2743. \gexample{The operators \funref{mapcar}, \funref{maphash},
  2744. \macref{with-package-iterator} and \funref{count}
  2745. perform object-traversing operations.}
  2746. \gentry{open} \Adjective, \TransitiveVerb\ (a \term{file})
  2747. 1. \TransitiveVerb\ to create and return a \term{stream} to the \term{file}.
  2748. 2. \Adjective\ (of a \term{stream})
  2749. having been \term{opened}\meaning{1}, but not yet \term{closed}.
  2750. \gentry{operator} \Noun\
  2751. 1. a \term{function}, \term{macro}, or \term{special operator}.
  2752. 2. a \term{symbol} that names
  2753. such a \term{function}, \term{macro}, or \term{special operator}.
  2754. 3. (in a \specref{function} \term{special form})
  2755. the \term{cadr} of the \specref{function} \term{special form}, which
  2756. might be either an \term{operator}\meaning{2} or a \term{lambda expression}.
  2757. %Barmar thinks that since operator(2) says "symbol" this last is unnecessary and confusing.
  2758. %KMP disagrees because "lambda expression" is added here.
  2759. 4. (of a \term{compound form})
  2760. the \term{car} of the \term{compound form}, which might be
  2761. either an \term{operator}\meaning{2}
  2762. %Moon asked whether this was permitted to include function objects,
  2763. %but I don't think so. Barmar and Barrett also expressed that sentiment
  2764. %in mail to Quinquevirate (subject line "#'#.#'car").
  2765. %No one took the alternate viewpoint. -kmp 14-Nov-91
  2766. or a \term{lambda expression}, and which is never \f{(setf \term{symbol})}.
  2767. \gentry{optimize quality} \Noun\
  2768. one of several aspects of a program that might be optimizable by
  2769. certain compilers. Since optimizing one such quality
  2770. might conflict with optimizing another, relative priorities for
  2771. qualities can be established in an \declref{optimize} \term{declaration}.
  2772. The \term{standardized} \term{optimize qualities} are
  2773. \f{compilation-speed} (speed of the compilation process),
  2774. \issue{OPTIMIZE-DEBUG-INFO:NEW-QUALITY}
  2775. \f{debug} (ease of debugging),
  2776. \endissue{OPTIMIZE-DEBUG-INFO:NEW-QUALITY}%
  2777. \f{safety} (run-time error checking),
  2778. \f{space} (both code size and run-time space),
  2779. and
  2780. \f{speed} (of the object code).
  2781. \term{Implementations} may define additional \term{optimize qualities}.
  2782. \gentry{optional parameter} \Noun\
  2783. A \term{parameter} for which a corresponding positional \term{argument}
  2784. is optional. If the \term{argument} is not supplied, a default value
  2785. is used. \SeetermAlso{supplied-p parameter}.
  2786. \gentry{ordinary function} \Noun\
  2787. a \term{function} that is not a \term{generic function}.
  2788. \gentry{ordinary lambda list} \Noun\
  2789. the kind of \term{lambda list} used by \misc{lambda}.
  2790. \Seeterm{modified lambda list} and \term{extended lambda list}.
  2791. \gexample{\macref{defun} uses an ordinary lambda list.}
  2792. \gentry{otherwise inaccessible part} \Noun\ (of an \term{object}, $O\sub{1}$)
  2793. an \term{object}, $O\sub{2}$, which would be made \term{inaccessible} if
  2794. $O\sub{1}$ were made \term{inaccessible}. (Every \term{object} is an
  2795. \term{otherwise inaccessible part} of itself.)
  2796. \gentry{output} \Adjective\ (of a \term{stream})
  2797. supporting output operations (\ie being a ``data sink'').
  2798. An \term{output} \term{stream} might also be an \term{input} \term{stream},
  2799. in which case it is sometimes called a \term{bidirectional} \term{stream}.
  2800. \Seefun{output-stream-p}.
  2801. \indextab{P}
  2802. \gentry{package} \Noun\
  2803. an \term{object} \oftype{package}.
  2804. %!!! Moon: "interned" means "accessible" according to the glossary, but I thought
  2805. % a symbol was supposed to be "present" in its home package. Maybe I'm wrong.
  2806. \gentry{package cell} \Noun\ \Traditional\ (of a \term{symbol})
  2807. The \term{place} in a \term{symbol} that holds one of
  2808. possibly several \term{packages} in which the \term{symbol} is
  2809. \term{interned}, called the \term{home package}, or which holds
  2810. \nil\ if no such \term{package} exists or is known.
  2811. \Seefun{symbol-package}.
  2812. \gentry{package designator} \Noun\
  2813. a \term{designator} for a \term{package}; that is,
  2814. an \term{object} that denotes a \term{package}
  2815. and that is one of:
  2816. a \term{\packagenamedesignator}
  2817. (denoting the \term{package} that has the \term{string}
  2818. that it designates as its \term{name}
  2819. or as one of its \term{nicknames}),
  2820. or a \term{package} (denoting itself).
  2821. \gentry{package marker} \Noun\
  2822. a character which is used in the textual notation for a symbol
  2823. to separate the package name from the symbol name, and which
  2824. is \term{colon} in the \term{standard readtable}.
  2825. \Seesection\CharacterSyntax.
  2826. % \gentry{package name designator} \Noun\
  2827. % a \term{designator} for the \term{name} of a \term{package}; that is,
  2828. % an \term{object} that denotes a \term{string}
  2829. % and that is one of:
  2830. % a \term{character} (denoting a \term{singleton} \term{string}
  2831. % that has the \term{character} as its only \term{element}),
  2832. % a \term{symbol} (denoting the \term{string} that is its \term{name}),
  2833. % or a \term{string} (denoting itself).
  2834. \gentry{package prefix} \Noun\
  2835. a notation preceding the \term{name} of a \term{symbol} in text that is
  2836. processed by the \term{Lisp reader}, which uses a \term{package} \term{name}
  2837. followed by one or more \term{package markers}, and which indicates that
  2838. the symbol is looked up in the indicated \term{package}.
  2839. %!!! Moon: Is DO-ALL-SYMBOLS really -required- not to find symbols in unregistered packages?
  2840. \gentry{package registry} \Noun\
  2841. A mapping of \term{names} to \term{package} \term{objects}.
  2842. It is possible for there to be a \term{package} \term{object} which is not
  2843. in this mapping; such a \term{package} is called an \term{unregistered package}.
  2844. \term{Operators} such as \funref{find-package} consult this mapping in order
  2845. to find a \term{package} from its \term{name}.
  2846. \term{Operators} such as \macref{do-all-symbols}, \funref{find-all-symbols},
  2847. and \funref{list-all-packages} operate only on \term{packages} that exist
  2848. in the \term{package registry}.
  2849. \gentry{pairwise} \Adverb\ (of an adjective on a set)
  2850. applying individually to all possible pairings of elements of the set.
  2851. \gexample{The types $A$, $B$, and $C$ are pairwise disjoint if
  2852. $A$ and $B$ are disjoint,
  2853. $B$ and $C$ are disjoint, and
  2854. $A$ and $C$ are disjoint.}
  2855. %!!! This needs work but should be better than nothing for now. -kmp 13-Feb-92
  2856. \gentry{parallel} \Adjective\ \Traditional\ (of \term{binding} or \term{assignment})
  2857. done in the style of \macref{psetq}, \macref{let}, or \macref{do};
  2858. that is, first evaluating all of the \term{forms} that produce \term{values},
  2859. and only then \term{assigning} or \term{binding} the \term{variables} (or \term{places}).
  2860. Note that this does not imply traditional computational ``parallelism''
  2861. since the \term{forms} that produce \term{values} are evaluated \term{sequentially}.
  2862. \Seeterm{sequential}.
  2863. \gentry{parameter} \Noun\
  2864. 1. (of a \term{function})
  2865. a \term{variable} in the definition of a \term{function}
  2866. which takes on the \term{value} of a corresponding \term{argument}
  2867. (or of a \term{list} of corresponding arguments)
  2868. to that \term{function} when it is called,
  2869. or
  2870. which in some cases is given a default value because there
  2871. is no corresponding \term{argument}.
  2872. 2. (of a \term{format directive})
  2873. %Moon thinks "as data flow" is awkward. I don't know what to substitute. -kmp 15-Nov-91
  2874. an \term{object} received as data flow by a \term{format directive}
  2875. due to a prefix notation within the \term{format string} at the
  2876. \term{format directive}'s point of use.
  2877. \Seesection\FormattedOutput.
  2878. \gexample{In \f{"~3,'0D"}, the number \f{3} and the character
  2879. \f{\#\\0} are parameters to the \f{~D} format directive.}
  2880. \gentry{parameter specializer} \Noun\
  2881. 1. (of a \term{method}) an \term{expression} which constrains the
  2882. \term{method} to be applicable only to \term{argument} sequences
  2883. in which the corresponding \term{argument} matches the
  2884. \term{parameter specializer}.
  2885. 2. a \term{class},
  2886. or a \term{list} \f{(eql \term{object})}.
  2887. \gentry{parameter specializer name} \Noun\
  2888. 1. (of a \term{method} definition) an expression used in code to
  2889. name a \term{parameter specializer}.
  2890. \Seesection\IntroToMethods.
  2891. 2. a \term{class},
  2892. \issue{CLASS-OBJECT-SPECIALIZER:AFFIRM}
  2893. a \term{symbol} naming a \term{class},
  2894. \endissue{CLASS-OBJECT-SPECIALIZER:AFFIRM}
  2895. or a \term{list} \f{(eql \term{form})}.
  2896. \gentry{pathname} \Noun\
  2897. an \term{object} \oftype{pathname}, which is a structured representation
  2898. of the name of a \term{file}. A \term{pathname} has six components:
  2899. a ``host,''
  2900. a ``device,''
  2901. a ``directory,''
  2902. a ``name,''
  2903. a ``type,'' and
  2904. a ``version.''
  2905. \gentry{pathname designator} \Noun\
  2906. a \term{designator} for a \term{pathname}; that is,
  2907. an \term{object} that denotes a \term{pathname}
  2908. and that is one of:
  2909. \issue{PATHNAME-LOGICAL:ADD}
  2910. a \term{pathname} \term{namestring}
  2911. \issue{PATHNAME-HOST-PARSING:RECOGNIZE-LOGICAL-HOST-NAMES}
  2912. % (denoting the corresponding \term{pathname};
  2913. % unless explicitly specified otherwise,
  2914. % only a \term{physical pathname} \term{namestring} is required
  2915. % to be recognized by an \term{implementation} as
  2916. % a \term{pathname designator}---whether
  2917. % or not a \term{logical pathname} \term{namestring} is
  2918. % permitted as a \term{pathname designator} is
  2919. % \term{implementation-defined}),
  2920. (denoting the corresponding \term{pathname}),
  2921. \endissue{PATHNAME-HOST-PARSING:RECOGNIZE-LOGICAL-HOST-NAMES}
  2922. \endissue{PATHNAME-LOGICAL:ADD}
  2923. a \term{stream associated with a file}
  2924. %% 23.1.2 32
  2925. (denoting the \term{pathname} used to open the \term{file};
  2926. this may be, but is not required to be, the actual name of the \term{file}),
  2927. or a \term{pathname} (denoting itself).
  2928. \Seesection\OpenAndClosedStreams.
  2929. % \editornote{KMP: `Pervasive' is still used, but isn't it supposed to be getting phased out?}
  2930. %
  2931. % \gentry{pervasive} \Noun\
  2932. % ... needs a definition...
  2933. \gentry{physical pathname} \Noun\
  2934. a \term{pathname} that is not a \term{logical pathname}.
  2935. \editornote{KMP: Still need to reconcile some confusion in the uses of ``generalized
  2936. reference'' and ``place.'' I think one was supposed to refer to the
  2937. abstract concept, and the other to an object (a form), but the usages
  2938. have become blurred.}
  2939. %Moon: I have no opinion.
  2940. \gentry{place} \Noun\
  2941. 1. a \term{form} which is suitable for use as a \term{generalized reference}.
  2942. 2. the conceptual location referred to by such a \term{place}\meaning{1}.
  2943. \gentry{plist} \pronounced{\Stress{p\harde}\stress{list}} \Noun\
  2944. a \term{property list}.
  2945. \gentry{portable} \Adjective\ (of \term{code})
  2946. required to produce equivalent results and observable side effects
  2947. in all \term{conforming implementations}.
  2948. \gentry{potential copy} \Noun\ (of an \term{object} $O\sub 1$ subject to constriants)
  2949. an \term{object} $O\sub 2$ that if the specified constraints are satisfied
  2950. by $O\sub 1$ without any modification might or might not be \term{identical}
  2951. to $O\sub 1$, or else that must be a \term{fresh} \term{object} that
  2952. resembles a \term{copy} of $O\sub 1$ except that it has been modified as
  2953. necessary to satisfy the constraints.
  2954. \gentry{potential number} \Noun\
  2955. A textual notation that might be parsed by the \term{Lisp reader}
  2956. in some \term{conforming implementation} as a \term{number}
  2957. but is not required to be parsed as a \term{number}.
  2958. No \term{object} is a \term{potential number}---either an \term{object} is
  2959. a \term{number} or it is not.
  2960. \Seesection\PotentialNumbersAsTokens.
  2961. \gentry{pprint dispatch table} \Noun\
  2962. an \term{object} that can be \thevalueof{*print-pprint-dispatch*}
  2963. and hence can control how \term{objects} are printed when
  2964. \varref{*print-pretty*} is \term{true}.
  2965. \Seesection\PPrintDispatchTables.
  2966. \gentry{predicate} \Noun\
  2967. a \term{function} that returns a \term{generalized boolean}
  2968. as its first value.
  2969. \gentry{present} \Noun\
  2970. 1. (of a \term{feature} in a \term{Lisp image})
  2971. a state of being that is in effect if and only if the \term{symbol}
  2972. naming the \term{feature} is an \term{element} of the \term{features list}.
  2973. 2. (of a \term{symbol} in a \term{package})
  2974. being accessible in that \term{package} directly,
  2975. rather than being inherited from another \term{package}.
  2976. \gentry{pretty print} \TransitiveVerb\ (an \term{object})
  2977. to invoke the \term{pretty printer} on the \term{object}.
  2978. % Waters observes:
  2979. % In most places the text talks about the pretty printer either being used or not.
  2980. % However, it is not all that clear what the pretty printer per se is. In the
  2981. % description of *print-pprint-dispatch* I think that it makes it pretty clear that
  2982. % what pretty printer means is that printing is controled by *print-pprint-dispatch*.
  2983. % And in fact I believe that this is in fact all it means. You can put a value in
  2984. % *print-pprint-dispatch* that makes pretty printing look exactly like
  2985. % non-pretty-printing after all. Therefore, I think it would be an overall
  2986. % clarification to say more often that setting *print-pretty* to true means having
  2987. % *print-pprint-dispatch* control printing---nothing more and nothing less.
  2988. \gentry{pretty printer} \Noun\
  2989. the procedure that prints the character representation of an
  2990. \term{object} onto a \term{stream} when the \term{value} of
  2991. \varref{*print-pretty*} is \term{true},
  2992. and that uses layout techniques (\eg indentation) that
  2993. tend to highlight the structure of the \term{object} in a way that
  2994. makes it easier for human readers to parse visually.
  2995. \Seevar{*print-pprint-dispatch*} and \secref\PPrinter.
  2996. \gentry{pretty printing stream} \Noun\
  2997. a \term{stream} that does pretty printing. Such streams are created by
  2998. \thefunction{pprint-logical-block} as a link between the output stream
  2999. and the logical block.
  3000. \gentry{primary method} \Noun\
  3001. a member of one of two sets of \term{methods}
  3002. (the set of \term{auxiliary methods} is the other)
  3003. that form an exhaustive partition of the set of \term{methods}
  3004. on the \term{method}'s \term{generic function}.
  3005. How these sets are determined is dependent on the \term{method combination} type;
  3006. \seesection\IntroToMethods.
  3007. \gentry{primary value} \Noun\ (of \term{values} resulting from the
  3008. \term{evaluation} of a \term{form})
  3009. the first \term{value}, if any, or else \nil\ if there are no \term{values}.
  3010. \gexample{The primary value returned by \funref{truncate} is an
  3011. integer quotient, truncated toward zero.}
  3012. \gentry{principal} \Adjective\ (of a value returned by a \clisp\ \term{function} that
  3013. implements a mathematically irrational or transcendental
  3014. function defined in the complex domain)
  3015. of possibly many (sometimes an infinite number of) correct values for the
  3016. mathematical function, being the particular \term{value} which the corresponding
  3017. \clisp\ \term{function} has been defined to return.
  3018. \gentry{print name} \Noun\ \Traditional\ (usually of a \term{symbol})
  3019. a \term{name}\meaning{3}.
  3020. \gentry{printer control variable} \Noun\
  3021. a \term{variable} whose specific purpose is to control some action
  3022. of the \term{Lisp printer}; that is, one of the \term{variables}
  3023. in \figref\StdPrinterControlVars,
  3024. or else some \term{implementation-defined} \term{variable} which is
  3025. defined by the \term{implementation} to be a \term{printer control variable}.
  3026. \issue{PRINT-READABLY-BEHAVIOR:CLARIFY}
  3027. \gentry{printer escaping} \Noun\
  3028. The combined state of the \term{printer control variables}
  3029. \varref{*print-escape*} and \varref{*print-readably*}.
  3030. If the value of either \varref{*print-readably*} or \varref{*print-escape*} is \term{true},
  3031. then \newterm{printer escaping} is ``enabled'';
  3032. otherwise (if the values of both \varref{*print-readably*} and \varref{*print-escape*}
  3033. are \term{false}),
  3034. then \term{printer escaping} is ``disabled''.
  3035. \endissue{PRINT-READABLY-BEHAVIOR:CLARIFY}
  3036. \gentry{printing} \Adjective\ (of a \term{character})
  3037. being a \term{graphic} \term{character} other than \term{space}.
  3038. \gentry{process} \TransitiveVerb\ (a \term{form} by the \term{compiler})
  3039. to perform \term{minimal compilation}, determining the time of
  3040. evaluation for a \term{form}, and possibly \term{evaluating} that
  3041. \term{form} (if required).
  3042. \gentry{processor} \Noun, \ANSI\
  3043. an \term{implementation}.
  3044. \gentry{proclaim} \TransitiveVerb\ (a \term{proclamation})
  3045. to \term{establish} that \term{proclamation}.
  3046. \gentry{proclamation} \Noun\
  3047. a \term{global declaration}.
  3048. \gentry{prog tag} \Noun\ \Traditional\
  3049. a \term{go tag}.
  3050. \gentry{program} \Noun\ \Traditional\
  3051. \clisp\ \term{code}.
  3052. \gentry{programmer} \Noun\
  3053. an active entity, typically a human, that writes a \term{program},
  3054. and that might or might not also be a \term{user} of the \term{program}.
  3055. \gentry{programmer code} \Noun\
  3056. \term{code} that is supplied by the programmer;
  3057. that is, \term{code} that is not \term{system code}.
  3058. \gentry{proper list} \Noun\
  3059. A \term{list} terminated by the \term{empty list}.
  3060. (The \term{empty list} is a \term{proper list}.)
  3061. \Seeterm{improper list}.
  3062. \gentry{proper name} \Noun\ (of a \term{class})
  3063. a \term{symbol} that \term{names} the \term{class} whose \term{name}
  3064. is that \term{symbol}.
  3065. \Seefuns{class-name} and \funref{find-class}.
  3066. \gentry{proper sequence} \Noun\
  3067. a \term{sequence} which is not an \term{improper list};
  3068. that is, a \term{vector} or a \term{proper list}.
  3069. % Moon: proper subtype -- I don't understand the parenthesized phrase, perhaps not
  3070. % only because I believe types have members, not elements.
  3071. \gentry{proper subtype} \Noun\ (of a \term{type})
  3072. a \term{subtype} of the \term{type} which is not the \term{same} \term{type}
  3073. as the \term{type} (\ie its \term{elements} are a ``proper subset'' of the
  3074. \term{type}).
  3075. \gentry{property} \Noun\ (of a \term{property list})
  3076. 1. a conceptual pairing of a \term{property indicator} and its
  3077. associated \term{property value} on a \term{property list}.
  3078. 2. a \term{property value}.
  3079. %%Barmar says he's never heard this usage. -kmp -11-Dec-90
  3080. % 3. a \term{property indicator}.
  3081. \gentry{property indicator} \Noun\ (of a \term{property list})
  3082. the \term{name} part of a \term{property}, used as a \term{key}
  3083. when looking up a \term{property value} on a \term{property list}.
  3084. \gentry{property list} \Noun\
  3085. \issue{PLIST-DUPLICATES:ALLOW}
  3086. 1. a \term{list} containing an even number of \term{elements} that are
  3087. alternating \term{names} (sometimes called \term{indicators}
  3088. or \term{keys}) and \term{values} (sometimes called \term{properties}).
  3089. When there is more than one \term{name} and \term{value} pair with
  3090. the \term{identical} \term{name} in a \term{property list},
  3091. the first such pair determines the \term{property}.
  3092. \endissue{PLIST-DUPLICATES:ALLOW}
  3093. 2. (of a \term{symbol})
  3094. the component of the \term{symbol} containing a \term{property list}.
  3095. \issue{PLIST-DUPLICATES:ALLOW}
  3096. % \gentry{property list format} \Noun\
  3097. % the form of a property list, having an even number of \term{elements}
  3098. % that are alternating \term{names} and \term{values}, but without the
  3099. % implied restriction that no \term{keys} be duplicated.
  3100. % \gexample{When \keyref{key} is used in a lambda list, the corresponding keyword
  3101. % arguments are specified in property list format.}
  3102. \endissue{PLIST-DUPLICATES:ALLOW}
  3103. \gentry{property value} \Noun\ (of a \term{property indicator} on
  3104. a \term{property list})
  3105. the \term{object} associated with the \term{property indicator}
  3106. on the \term{property list}.
  3107. \gentry{purports to conform} \Verb\
  3108. makes a good-faith claim of conformance.
  3109. This term expresses intention to conform, regardless of whether the
  3110. goal of that intention is realized in practice.
  3111. For example, language implementations have been known to have bugs,
  3112. and while an \term{implementation} of this specification with bugs
  3113. might not be a \term{conforming implementation}, it can still
  3114. \term{purport to conform}. This is an important distinction in
  3115. certain specific cases; \eg \seevar{*features*}.
  3116. \indextab{Q}
  3117. \gentry{qualified method} \Noun\
  3118. a \term{method} that has one or more \term{qualifiers}.
  3119. %Maybe this should be called a method qualifier? -kmp
  3120. \gentry{qualifier} \Noun\ (of a \term{method} for a \term{generic function})
  3121. one of possibly several \term{objects} used to annotate the \term{method}
  3122. in a way that identifies its role in the \term{method combination}.
  3123. The \term{method combination} \term{type} determines
  3124. how many \term{qualifiers} are permitted for each \term{method},
  3125. which \term{qualifiers} are permitted,
  3126. and
  3127. the semantics of those \term{qualifiers}.
  3128. %qualifier list?
  3129. \gentry{query I/O} \Noun\
  3130. the \term{bidirectional} \term{stream}
  3131. that is the \term{value} of \thevariable{*query-io*}.
  3132. \gentry{quoted object} \Noun\
  3133. an \term{object} which is the second element of a
  3134. \specref{quote} \term{form}.
  3135. \indextab{R}
  3136. \gentry{radix} \Noun\
  3137. an \term{integer} between 2 and 36, inclusive, which can be used
  3138. to designate a base with respect to which certain kinds of numeric
  3139. input or output are performed.
  3140. %% 13.2.0 20
  3141. (There are $n$ valid digit characters for any given \term{radix} $n$,
  3142. and those digits are the first $n$ digits in the sequence
  3143. \f{0}, \f{1}, $\ldots$, \f{9}, \f{A}, \f{B}, $\ldots$, \f{Z},
  3144. which have the weights
  3145. \f{0}, \f{1}, $\ldots$, \f{9}, \f{10}, \f{11}, $\ldots$, \f{35},
  3146. respectively.
  3147. Case is not significant in parsing numbers of radix greater
  3148. than \f{10}, so ``9b8a'' and ``9B8A'' denote the same \term{radix}
  3149. \f{16} number.)
  3150. \gentry{random state} \Noun\
  3151. an \term{object} \oftype{random-state}.
  3152. \gentry{rank} \Noun\
  3153. a non-negative \term{integer} indicating the number of
  3154. \term{dimensions} of an \term{array}.
  3155. \gentry{ratio} \Noun\
  3156. an \term{object} \oftype{ratio}.
  3157. \gentry{ratio marker} \Noun\
  3158. a character which is used in the textual notation for a \term{ratio}
  3159. to separate the numerator from the denominator, and which
  3160. is \term{slash} in the \term{standard readtable}.
  3161. \Seesection\CharacterSyntax.
  3162. \gentry{rational} \Noun\
  3163. an \term{object} \oftype{rational}.
  3164. \gentry{read} \TransitiveVerb\
  3165. \issue{IGNORE-USE-TERMINOLOGY:VALUE-ONLY}
  3166. 1. (a \term{binding} or \term{slot} or component)
  3167. to obtain the \term{value} of the \term{binding} or \term{slot}.
  3168. \endissue{IGNORE-USE-TERMINOLOGY:VALUE-ONLY}
  3169. 2. (an \term{object} from a \term{stream})
  3170. to parse an \term{object} from its representation on the \term{stream}.
  3171. %% There were no actual uses of this. -kmp 18-Jan-92
  3172. % \gentry{read macro} \Noun\ \Traditional\
  3173. % a \term{reader macro}.
  3174. %% KMP: Maybe...
  3175. % \gentry{readable} \Adjective\ (of the printed representation of an \term{object})
  3176. % printed \term{readably}.
  3177. \gentry{readably} \Adverb\ (of a manner of printing an \term{object} $O\sub 1$)
  3178. in such a way as to permit the \term{Lisp Reader} to later \term{parse}
  3179. the printed output into an \term{object} $O\sub 2$ that is \term{similar} to $O\sub 1$.
  3180. \gentry{reader} \Noun\
  3181. 1. a \term{function} that \term{reads}\meaning{1} a \term{variable} or \term{slot}.
  3182. 2. the \term{Lisp reader}.
  3183. \gentry{reader macro} \Noun\
  3184. 1. a textual notation introduced by dispatch on one or two \term{characters}
  3185. that defines special-purpose syntax for use by the \term{Lisp reader},
  3186. and that is implemented by a \term{reader macro function}.
  3187. \Seesection\ReaderAlgorithm.
  3188. 2. the \term{character} or \term{characters} that introduce
  3189. a \term{reader macro}\meaning{1}; that is,
  3190. a \term{macro character}
  3191. or the conceptual pairing of a \term{dispatching macro character} and the
  3192. \term{character} that follows it.
  3193. (A \term{reader macro} is not a kind of \term{macro}.)
  3194. \gentry{reader macro function} \Noun\
  3195. a \term{function} \term{designator} that denotes a \term{function}
  3196. that implements a \term{reader macro}\meaning{2}.
  3197. \Seefuns{set-macro-character} and \funref{set-dispatch-macro-character}.
  3198. \gentry{readtable} \Noun\
  3199. an \term{object} \oftype{readtable}.
  3200. \gentry{readtable case} \Noun\
  3201. an attribute of a \term{readtable}
  3202. whose value is a \term{case sensitivity mode},
  3203. and that selects the manner in which \term{characters}
  3204. in a \term{symbol}'s \term{name} are to be treated by
  3205. the \term{Lisp reader}
  3206. and the \term{Lisp printer}.
  3207. \Seesection\ReadtableCaseReadEffect\ and \secref\ReadtableCasePrintEffect.
  3208. \gentry{readtable designator} \Noun\
  3209. a \term{designator} for a \term{readtable}; that is,
  3210. an \term{object} that denotes a \term{readtable}
  3211. and that is one of:
  3212. \nil\ (denoting the \term{standard readtable}),
  3213. or a \term{readtable} (denoting itself).
  3214. \gentry{recognizable subtype} \Noun\ (of a \term{type})
  3215. a \term{subtype} of the \term{type} which can be reliably detected
  3216. to be such by the \term{implementation}.
  3217. \Seefun{subtypep}.
  3218. \gentry{reference} \Noun, \TransitiveVerb\
  3219. 1. \Noun\ an act or occurrence of referring to an \term{object},
  3220. a \term{binding}, an \term{exit point}, a \term{tag},
  3221. or an \term{environment}.
  3222. %But what does "refer" mean?
  3223. 2. \TransitiveVerb\ to refer to an \term{object}, a \term{binding}, an
  3224. \term{exit point}, a \term{tag}, or an \term{environment},
  3225. usually by \term{name}.
  3226. \gentry{registered package} \Noun\
  3227. a \term{package} \term{object} that is installed in the \term{package registry}.
  3228. (Every \term{registered package} has a \term{name} that is a \term{string},
  3229. as well as zero or more \term{string} nicknames.
  3230. All \term{packages} that are initially specified by \clisp\
  3231. or created by \funref{make-package} or \macref{defpackage}
  3232. are \term{registered packages}. \term{Registered packages} can be turned into
  3233. \term{unregistered packages} by \funref{delete-package}.)
  3234. \gentry{relative} \Adjective\
  3235. 1. (of a \term{time})
  3236. representing an offset from an \term{absolute} \term{time}
  3237. in the units appropriate to that time.
  3238. For example,
  3239. a \term{relative} \term{internal time} is the difference between
  3240. two \term{absolute} \term{internal times}, and is measured in
  3241. \term{internal time units}.
  3242. 2. (of a \term{pathname})
  3243. representing a position in a directory hierarchy by motion
  3244. from a position other than the root, which might therefore vary.
  3245. \gexample{The notation \f{\#P"../foo.text"} denotes a relative
  3246. pathname if the host file system is Unix.}
  3247. \Seeterm{absolute}.
  3248. \gentry{repertoire} \Noun, \ISO\
  3249. a \term{subtype} of \typeref{character}. \Seesection\CharRepertoires.
  3250. \gentry{report} \Noun\ (of a \term{condition})
  3251. to \term{call} \thefunction{print-object} on the \term{condition}
  3252. in an \term{environment} where \thevalueof{*print-escape*} is \term{false}.
  3253. \gentry{report message} \Noun\
  3254. the text that is output by a \term{condition reporter}.
  3255. \gentry{required parameter} \Noun\
  3256. A \term{parameter} for which a corresponding positional \term{argument}
  3257. must be supplied when \term{calling} the \term{function}.
  3258. \gentry{rest list} \Noun\ (of a \term{function} having a \term{rest parameter})
  3259. The \term{list} to which the \term{rest parameter} is \term{bound} on some
  3260. particular \term{call} to the \term{function}.
  3261. \gentry{rest parameter} \Noun\
  3262. A \term{parameter} which was introduced by \keyref{rest}.
  3263. \gentry{restart} \Noun\
  3264. an \term{object} \oftype{restart}.
  3265. \gentry{restart designator} \Noun\
  3266. a \term{designator} for a \term{restart}; that is,
  3267. an \term{object} that denotes a \term{restart}
  3268. and that is one of:
  3269. a \term{non-nil} \term{symbol}
  3270. (denoting the most recently established \term{active}
  3271. \term{restart} whose \term{name} is that \term{symbol}),
  3272. or a \term{restart} (denoting itself).
  3273. \gentry{restart function} \Noun\
  3274. a \term{function} that invokes a \term{restart}, as if by \funref{invoke-restart}.
  3275. The primary purpose of a \term{restart function} is to provide an alternate
  3276. interface. By convention, a \term{restart function} usually has the same name
  3277. as the \term{restart} which it invokes. \Thenextfigure\ shows a list of the
  3278. \term{standardized} \term{restart functions}.
  3279. \displaythree{Standardized Restart Functions}{
  3280. abort&muffle-warning&use-value\cr
  3281. continue&store-value&\cr
  3282. }
  3283. \gentry{return} \TransitiveVerb\ (of \term{values})
  3284. 1. (from a \term{block}) to transfer control and \term{values} from the \term{block};
  3285. that is, to cause the \term{block} to \term{yield} the \term{values} immediately
  3286. without doing any further evaluation of the \term{forms} in its body.
  3287. 2. (from a \term{form}) to \term{yield} the \term{values}.
  3288. \gentry{return value} \Noun\ \Traditional\
  3289. a \term{value}\meaning{1}
  3290. \gentry{right-parenthesis} \Noun\
  3291. the \term{standard character} ``\f{)}'',
  3292. that is variously called
  3293. ``right parenthesis''
  3294. or ``close parenthesis''
  3295. \Seefigure\StdCharsThree.
  3296. %% No longer needed as a glossary term. \Seesection\RuleOfCanonRepForComplexRationals.
  3297. %% -kmp
  3298. %
  3299. % %Moon says:
  3300. % % rule of canonical representation for complex rationals -- you forgot to say the
  3301. % % real part has to be rational. Compare CLtL2 p.291.
  3302. % \gentry{rule of canonical representation for complex rationals} \Noun\
  3303. % a requirement by \clisp\ on \term{conforming implementations} that all
  3304. % numbers representing mathematical complex numbers with an imaginary part
  3305. % of rational zero be represented by \clisp\ as \term{objects} \oftype{rational}
  3306. % rather than as \term{objects} \oftype{complex}.
  3307. \gentry{run time} \Noun\
  3308. 1. \term{load time}
  3309. 2. \term{execution time}
  3310. \gentry{run-time compiler} \Noun\
  3311. refers to the \funref{compile} function or to \term{implicit compilation},
  3312. for which the compilation and run-time \term{environments} are maintained
  3313. in the same \term{Lisp image}.
  3314. \gentry{run-time definition} \Noun\
  3315. a definition in the \term{run-time environment}.
  3316. \gentry{run-time environment} \Noun\
  3317. the \term{environment} in which a program is \term{executed}.
  3318. \indextab{S}
  3319. \gentry{safe} \Adjective\
  3320. 1. (of \term{code})
  3321. processed in a \term{lexical environment} where the the highest
  3322. \declref{safety} level (\f{3}) was in effect.
  3323. \Seemisc{optimize}.
  3324. 2. (of a \term{call}) a \term{safe call}.
  3325. \gentry{safe call} \Noun\
  3326. a \term{call} in which
  3327. the \term{call},
  3328. the \term{function} being \term{called},
  3329. and the point of \term{functional evaluation}
  3330. are all \term{safe}\meaning{1} \term{code}.
  3331. For more detailed information, \seesection\SafeAndUnsafeCalls.
  3332. \gentry{same} \Adjective\
  3333. 1. (of \term{objects} under a specified \term{predicate})
  3334. indistinguishable by that \term{predicate}.
  3335. \gexample{The symbol \f{car}, the string \f{"car"}, and the string \f{"CAR"}
  3336. are the \f{same} under \funref{string-equal}}.
  3337. 2. (of \term{objects} if no predicate is implied by context)
  3338. indistinguishable by \funref{eql}.
  3339. Note that \funref{eq} might be capable of distinguishing some
  3340. \term{numbers} and \term{characters} which \funref{eql} cannot
  3341. distinguish, but the nature of such, if any,
  3342. is \term{implementation-dependent}.
  3343. Since \funref{eq} is used only rarely in this specification,
  3344. \funref{eql} is the default predicate when none is mentioned explicitly.
  3345. \gexample{The conses returned by two successive calls to \funref{cons}
  3346. are never the same.}
  3347. 3. (of \term{types}) having the same set of \term{elements};
  3348. that is, each \term{type} is a \term{subtype} of the others.
  3349. \gexample{The types specified by \f{(integer 0 1)},
  3350. \f{(unsigned-byte 1)},
  3351. and \f{bit} are the same.}
  3352. \gentry{satisfy the test} \Verb\
  3353. (of an \term{object} being considered by a \term{sequence function})
  3354. 1. (for a one \term{argument} test)
  3355. to be in a state such that the \term{function} which is the
  3356. \param{predicate} \term{argument} to the \term{sequence function}
  3357. returns \term{true} when given a single \term{argument} that is the
  3358. result of calling the \term{sequence function}'s \param{key} \term{argument}
  3359. on the \term{object} being considered.
  3360. \Seesection\SatisfyingTheOneArgTest.
  3361. %!!! Moon: Shouldn't the test-not predicate return false to satisfy the test?
  3362. % Also, sometimes both arguments are run through the key,
  3363. % e.g., search, mismatch; you're perhaps being too specific.
  3364. 2. (for a two \term{argument} test)
  3365. to be in a state such that the two-place \term{predicate}
  3366. which is the \term{sequence function}'s
  3367. \param{test} \term{argument}
  3368. returns \term{true} when given a first \term{argument} that
  3369. is
  3370. % the result of calling the \term{sequence function}'s
  3371. % \param{key} \term{argument} on
  3372. the \term{object} being considered,
  3373. and when given a second \term{argument}
  3374. that is the result of calling the \term{sequence function}'s
  3375. \param{key} \term{argument} on an \term{element} of the
  3376. \term{sequence function}'s \param{sequence} \term{argument}
  3377. which is being tested for equality;
  3378. or to be in a state such that the \param{test-not} \term{function}
  3379. returns \term{false} given the same \term{arguments}.
  3380. \Seesection\SatisfyingTheTwoArgTest.
  3381. %!!! Moon: Can scope ever apply to anything but a name?
  3382. % I think objects and environments have extent but not scope.
  3383. \gentry{scope} \Noun\
  3384. the structural or textual region of code in which \term{references}
  3385. to an \term{object}, a \term{binding}, an \term{exit point},
  3386. a \term{tag}, or an \term{environment} (usually by \term{name})
  3387. can occur.
  3388. \gentry{script} \Noun\ \ISO\
  3389. one of possibly several sets that form an \term{exhaustive partition}
  3390. of the type \typeref{character}. \Seesection\CharScripts.
  3391. \gentry{secondary value} \Noun\ (of \term{values} resulting from the
  3392. \term{evaluation} of a \term{form})
  3393. the second \term{value}, if any,
  3394. or else \nil\ if there are fewer than two \term{values}.
  3395. \gexample{The secondary value returned by \funref{truncate} is a remainder.}
  3396. \gentry{section} \Noun\
  3397. a partitioning of output by a \term{conditional newline} on a \term{pretty printing stream}.
  3398. \Seesection\DynamicControlofOutput.
  3399. \gentry{self-evaluating object} \Noun\
  3400. an \term{object} that is neither a \term{symbol} nor a
  3401. % \term{compound form} => \term{cons} because Moon pointed out that
  3402. % this wrongly seemed to permit things which were conses but not valid forms.
  3403. \term{cons}.
  3404. If a \term{self-evaluating object} is \term{evaluated},
  3405. it \term{yields} itself as its only \term{value}.
  3406. \gexample{Strings are self-evaluating objects.}
  3407. \gentry{semi-standard} \Adjective\ (of a language feature)
  3408. not required to be implemented by any \term{conforming implementation},
  3409. but nevertheless recommended as the canonical approach in situations where
  3410. an \term{implementation} does plan to support such a feature.
  3411. The presence of \term{semi-standard} aspects in the language is intended
  3412. to lessen portability problems and reduce the risk of gratuitous divergence
  3413. among \term{implementations} that might stand in the way of future
  3414. standardization.
  3415. \gentry{semicolon} \Noun\
  3416. the \term{standard character} that is called ``semicolon'' (\f{;}).
  3417. \Seefigure\StdCharsThree.
  3418. \gentry{sequence} \Noun\
  3419. 1. an ordered collection of elements
  3420. 2. a \term{vector} or a \term{list}.
  3421. \gentry{sequence function} \Noun\
  3422. one of the \term{functions} in \figref\SequenceFunctions,
  3423. or an \term{implementation-defined} \term{function}
  3424. that operates on one or more \term{sequences}.
  3425. and that is defined by the \term{implementation} to be a \term{sequence function}.
  3426. %!!! This needs work but should be better than nothing for now. -kmp 13-Feb-92
  3427. \gentry{sequential} \Adjective\ \Traditional\ (of \term{binding} or \term{assignment})
  3428. done in the style of \macref{setq}, \macref{let*}, or \macref{do*};
  3429. that is, interleaving the evaluation of the \term{forms} that produce \term{values}
  3430. with the \term{assignments} or \term{bindings} of the \term{variables} (or \term{places}).
  3431. \Seeterm{parallel}.
  3432. \gentry{sequentially} \Adverb\
  3433. in a \term{sequential} way.
  3434. \gentry{serious condition} \Noun\
  3435. a \term{condition} \oftype{serious-condition},
  3436. which represents a \term{situation} that is generally sufficiently
  3437. severe that entry into the \term{debugger} should be expected if
  3438. the \term{condition} is \term{signaled} but not \term{handled}.
  3439. \gentry{session} \Noun\
  3440. the conceptual aggregation of events in a \term{Lisp image} from the time
  3441. it is started to the time it is terminated.
  3442. \gentry{set} \TransitiveVerb\ \Traditional\ (any \term{variable}
  3443. or a \term{symbol} that
  3444. is the \term{name} of a \term{dynamic variable})
  3445. to \term{assign} the \term{variable}.
  3446. \issue{SETF-METHOD-VS-SETF-METHOD:RENAME-OLD-TERMS}
  3447. \gentry{setf expander} \Noun\
  3448. a function used by \macref{setf} to compute the \term{setf expansion}
  3449. of a \term{place}.
  3450. \endissue{SETF-METHOD-VS-SETF-METHOD:RENAME-OLD-TERMS}
  3451. \issue{SETF-METHOD-VS-SETF-METHOD:RENAME-OLD-TERMS}
  3452. \gentry{setf expansion} \Noun\
  3453. a set of five \term{expressions}\meaning{1} that, taken together, describe
  3454. how to store into a \term{place}
  3455. and which \term{subforms} of the macro call associated with the
  3456. \term{place} are evaluated.
  3457. \Seesection\SetfExpansions.
  3458. \endissue{SETF-METHOD-VS-SETF-METHOD:RENAME-OLD-TERMS}
  3459. \gentry{setf function} \Noun\
  3460. a \term{function} whose \term{name} is \f{(setf \term{symbol})}.
  3461. \issue{LISP-SYMBOL-REDEFINITION-AGAIN:MORE-FIXES}
  3462. \gentry{setf function name} \Noun\ (of a \term{symbol} \param{S})
  3463. the \term{list} \f{(setf \param{S})}.
  3464. \endissue{LISP-SYMBOL-REDEFINITION-AGAIN:MORE-FIXES}
  3465. \gentry{shadow} \TransitiveVerb\
  3466. 1. to override the meaning of.
  3467. \gexample{That binding of \f{X} shadows an outer one.}
  3468. 2. to hide the presence of.
  3469. \gexample{That \specref{macrolet} of \f{F} shadows the
  3470. outer \specref{flet} of \f{F}.}
  3471. 3. to replace.
  3472. \gexample{That package shadows the symbol \f{cl:car} with
  3473. its own symbol \f{car}.}
  3474. \gentry{shadowing symbol} \Noun\ (in a \term{package})
  3475. an \term{element} of the \term{package}'s \term{shadowing symbols list}.
  3476. \gentry{shadowing symbols list} \Noun\ (of a \term{package})
  3477. a \term{list}, associated with the \term{package},
  3478. of \term{symbols} that are to be exempted from `symbol conflict errors'
  3479. detected when packages are \term{used}.
  3480. \Seefun{package-shadowing-symbols}.
  3481. \gentry{shared slot} \Noun\ (of a \term{class})
  3482. a \term{slot} \term{accessible} in more than one \term{instance}
  3483. of a \term{class}; specifically, such a \term{slot} is \term{accessible}
  3484. in all \term{direct instances} of the \term{class} and in those
  3485. \term{indirect instances} whose \term{class} does not
  3486. \term{shadow}\meaning{1} the \term{slot}.
  3487. \gentry{sharpsign} \Noun\
  3488. the \term{standard character} that is variously called ``number sign,'' ``sharp,''
  3489. or ``sharp sign'' (\f{\#}).
  3490. \Seefigure\StdCharsThree.
  3491. \gentry{short float} \Noun\
  3492. an \term{object} \oftype{short-float}.
  3493. \gentry{sign} \Noun\
  3494. one of the \term{standard characters} ``\f{+}'' or ``\f{-}''.
  3495. \gentry{signal} \Verb\
  3496. to announce, using a standard protocol, that a particular situation,
  3497. represented by a \term{condition}, has been detected.
  3498. \Seesection\ConditionSystemConcepts.
  3499. \gentry{signature} \Noun\ (of a \term{method})
  3500. a description of the \term{parameters} and
  3501. \term{parameter specializers} for the \term{method} which
  3502. determines the \term{method}'s applicability for a given set of
  3503. required \term{arguments}, and which also describes the
  3504. \term{argument} conventions for its other, non-required
  3505. \term{arguments}.
  3506. \gentry{similar} \Adjective\ (of two \term{objects})
  3507. defined to be equivalent under the \term{similarity} relationship.
  3508. \gentry{similarity} \Noun\
  3509. a two-place conceptual equivalence predicate,
  3510. which is independent of the \term{Lisp image}
  3511. so that two \term{objects} in different \term{Lisp images}
  3512. can be understood to be equivalent under this predicate.
  3513. \Seesection\LiteralsInCompiledFiles.
  3514. \gentry{simple} \Adjective\
  3515. 1. (of an \term{array}) being \oftype{simple-array}.
  3516. 2. (of a \term{character})
  3517. having no \term{implementation-defined} \term{attributes},
  3518. or else having \term{implementation-defined} \term{attributes}
  3519. each of which has the \term{null} value for that \term{attribute}.
  3520. \gentry{simple array} \Noun\
  3521. an \term{array} \oftype{simple-array}.
  3522. \gentry{simple bit array} \Noun\
  3523. a \term{bit array} that is a \term{simple array};
  3524. that is, an \term{object} of \term{type} \f{(simple-array bit)}.
  3525. \gentry{simple bit vector} \Noun\
  3526. a \term{bit vector} \oftype{simple-bit-vector}.
  3527. \gentry{simple condition} \Noun\
  3528. a \term{condition} \oftype{simple-condition}.
  3529. \gentry{simple general vector} \Noun\
  3530. a \term{simple vector}.
  3531. \gentry{simple string} \Noun\
  3532. a \term{string} \oftype{simple-string}.
  3533. %!!! Moon: "not the same as a one-dimensional simple array.
  3534. % Does the addition of the "Not all ..." thing fix that? (Mail sent to Moon.) -kmp 14-Jan-92
  3535. \gentry{simple vector} \Noun\
  3536. a \term{vector} \oftype{simple-vector},
  3537. sometimes called a ``\term{simple general vector}.''
  3538. Not all \term{vectors} that are \term{simple} are \term{simple vectors}---only
  3539. those that have \term{element type} \typeref{t}.
  3540. \gentry{single escape} \Noun, \Adjective\
  3541. 1. \Noun\ the \term{syntax type} of a \term{character}
  3542. that indicates that the next \term{character} is
  3543. to be treated as an \term{alphabetic}\meaning{2} \term{character}
  3544. with its \term{case} preserved.
  3545. For details, \seesection\SingleEscapeChar.
  3546. 2. \Adjective\ (of a \term{character})
  3547. having the \term{single escape} \term{syntax type}.
  3548. 3. \Noun\ a \term{single escape}\meaning{2} \term{character}.
  3549. (In the \term{standard readtable},
  3550. \term{slash} is the only \term{single escape}.)
  3551. \gentry{single float} \Noun\
  3552. an \term{object} \oftype{single-float}.
  3553. \gentry{single-quote} \Noun\
  3554. the \term{standard character} that is variously called
  3555. ``apostrophe,''
  3556. ``acute accent,''
  3557. ``quote,''
  3558. or ``single quote'' (\f{'}).
  3559. \Seefigure\StdCharsThree.
  3560. \gentry{singleton} \Adjective\ (of a \term{sequence})
  3561. having only one \term{element}.
  3562. \gexample{\f{(list 'hello)} returns a singleton list.}
  3563. \gentry{situation} \Noun\
  3564. the \term{evaluation} of a \term{form} in a specific \term{environment}.
  3565. \gentry{slash} \Noun\
  3566. the \term{standard character} that is variously called
  3567. ``solidus''
  3568. or ``slash'' (\f{/}).
  3569. \Seefigure\StdCharsThree.
  3570. %!!! Moon: too general--limit to CLOS slots. "a named component"?
  3571. \gentry{slot} \Noun\
  3572. a component of an \term{object} that can store a \term{value}.
  3573. % slot option?
  3574. % Per X3J13 -kmp 5-Oct-93
  3575. \gentry{slot specifier} \Noun\
  3576. a representation of a \term{slot}
  3577. that includes the \term{name} of the \term{slot} and zero or more \term{slot} options.
  3578. A \term{slot} option pertains only to a single \term{slot}.
  3579. \gentry{source code} \Noun\
  3580. \term{code} representing \term{objects} suitable for \term{evaluation}
  3581. (\eg \term{objects} created by \funref{read},
  3582. by \term{macro expansion},
  3583. \issue{DEFINE-COMPILER-MACRO:X3J13-NOV89}
  3584. or by \term{compiler macro expansion}).
  3585. \endissue{DEFINE-COMPILER-MACRO:X3J13-NOV89}
  3586. \gentry{source file} \Noun\
  3587. a \term{file} which contains a textual representation of \term{source code},
  3588. that can be edited, \term{loaded}, or \term{compiled}.
  3589. \gentry{space} \Noun\
  3590. the \term{standard character} \SpaceChar,
  3591. notated for the \term{Lisp reader} as \f{\#\\Space}.
  3592. \gentry{special form} \Noun\
  3593. a \term{list}, other than a \term{macro form}, which is a
  3594. \term{form} with special syntax or special \term{evaluation}
  3595. rules or both, possibly manipulating the \term{evaluation}
  3596. \term{environment} or control flow or both. The first element of
  3597. a \term{special form} is a \term{special operator}.
  3598. \gentry{special operator} \Noun\
  3599. one of a fixed set of \term{symbols},
  3600. enumerated in \figref\CLSpecialOps,
  3601. that may appear in the \term{car} of
  3602. a \term{form} in order to identify the \term{form} as a \term{special form}.
  3603. \gentry{special variable} \Noun\ \Traditional\
  3604. a \term{dynamic variable}.
  3605. \gentry{specialize} \TransitiveVerb\ (a \term{generic function})
  3606. to define a \term{method} for the \term{generic function}, or in other words,
  3607. to refine the behavior of the \term{generic function} by giving it a specific
  3608. meaning for a particular set of \term{classes} or \term{arguments}.
  3609. \gentry{specialized} \Adjective\
  3610. 1. (of a \term{generic function})
  3611. having \term{methods} which \term{specialize} the \term{generic function}.
  3612. 2. (of an \term{array})
  3613. having an \term{actual array element type}
  3614. that is a \term{proper subtype} of \thetype{t};
  3615. \seesection\ArrayElements.
  3616. \gexample{\f{(make-array 5 :element-type 'bit)} makes an array of length
  3617. five that is specialized for bits.}
  3618. \gentry{specialized lambda list} \Noun\
  3619. an \term{extended lambda list} used in \term{forms} that \term{establish}
  3620. \term{method} definitions, such as \macref{defmethod}.
  3621. \Seesection\SpecializedLambdaLists.
  3622. \gentry{spreadable argument list designator} \Noun\
  3623. a \term{designator} for a \term{list} of \term{objects}; that is,
  3624. an \term{object} that denotes a \term{list}
  3625. and that is a \term{non-null} \term{list} $L1$ of length $n$,
  3626. whose last element is a \term{list} $L2$ of length $m$
  3627. (denoting a list $L3$ of length $m+n-1$ whose \term{elements} are
  3628. $L1\sub i$ for $i < n-1$ followed by $L2\sub j$ for $j < m$).
  3629. \gexample{The list (1 2 (3 4 5)) is a spreadable argument list designator for
  3630. the list (1 2 3 4 5).}
  3631. \gentry{stack allocate} \TransitiveVerb\ \Traditional\
  3632. to allocate in a non-permanent way, such as on a stack. Stack-allocation
  3633. is an optimization technique used in some \term{implementations} for
  3634. allocating certain kinds of \term{objects} that have \term{dynamic extent}.
  3635. Such \term{objects} are allocated on the stack rather than in the heap
  3636. so that their storage can be freed as part of unwinding the stack rather
  3637. than taking up space in the heap until the next garbage collection.
  3638. What \term{types} (if any) can have \term{dynamic extent} can vary
  3639. from \term{implementation} to \term{implementation}. No
  3640. \term{implementation} is ever required to perform stack-allocation.
  3641. %!!! Moon thinks this is too circular.
  3642. \gentry{stack-allocated} \Adjective\ \Traditional\
  3643. having been \term{stack allocated}.
  3644. \gentry{standard character} \Noun\
  3645. a \term{character} \oftype{standard-char}, which is one of a fixed set of 96
  3646. such \term{characters} required to be present in all \term{conforming implementations}.
  3647. \Seesection\StandardChars.
  3648. % Definitions of terms "standard function", "standard macro", and "standard special form"
  3649. % removed since they were not used anywhere, and since they were yucky anyway.
  3650. % -kmp 15-Oct-91
  3651. %Moon: "direct instance" or "generalized instance". I think it's "direct"
  3652. % but don't know for sure.
  3653. %After some discussion (with subject line "standard class, standard generic function"),
  3654. %Moon and KMP think this is a technical issue which requires X3J13 vote to proceed on.
  3655. %Leaving it unchanged for now. -kmp 15-Nov-91
  3656. %Changing it to "generalized instance" on advice from Quinquevirate. -kmp 14-Feb-92
  3657. \gentry{standard class} \Noun\
  3658. a \term{class} that is a \term{generalized instance} \ofclass{standard-class}.
  3659. %Moon: Same comment as for "standard class".
  3660. \gentry{standard generic function}
  3661. a \term{function} \oftype{standard-generic-function}.
  3662. \gentry{standard input} \Noun\
  3663. the \term{input} \term{stream} which is the \term{value} of the \term{dynamic variable}
  3664. \varref{*standard-input*}.
  3665. \gentry{standard method combination} \Noun\
  3666. the \term{method combination} named \typeref{standard}.
  3667. \gentry{standard object} \Noun\
  3668. an \term{object} that is
  3669. %This phrase added per Moon:
  3670. a \term{generalized instance}
  3671. \ofclass{standard-object}.
  3672. \gentry{standard output} \Noun\
  3673. the \term{output} \term{stream} which is the \term{value} of the \term{dynamic variable}
  3674. \varref{*standard-output*}.
  3675. \issue{KMP-COMMENTS-ON-SANDRA-COMMENTS:X3J13-MAR-92}
  3676. \gentry{standard pprint dispatch table} \Noun\
  3677. A \term{pprint dispatch table} that is \term{different} from
  3678. the \term{initial pprint dispatch table},
  3679. that implements \term{pretty printing} as described in this specification,
  3680. and that, unlike other \term{pprint dispatch tables},
  3681. must never be modified by any program.
  3682. (Although the definite reference ``the \term{standard pprint dispatch table}''
  3683. is generally used
  3684. within this document, it is actually \term{implementation-dependent} whether a
  3685. single \term{object} fills the role of the \term{standard pprint dispatch table},
  3686. or whether there might be multiple such objects, any one of which could be used on any
  3687. given occasion where ``the \term{standard pprint dispatch table}'' is called for.
  3688. As such, this phrase should be seen as an indefinite reference
  3689. in all cases except for anaphoric references.)
  3690. \endissue{KMP-COMMENTS-ON-SANDRA-COMMENTS:X3J13-MAR-92}
  3691. \issue{WITH-STANDARD-IO-SYNTAX-READTABLE:X3J13-MAR-91}
  3692. \gentry{standard readtable} \Noun\
  3693. A \term{readtable} that is \term{different} from the \term{initial readtable},
  3694. that implements the \term{expression} syntax defined in this specification,
  3695. and that, unlike other \term{readtables}, must never be modified by any program.
  3696. (Although the definite reference ``the \term{standard readtable}'' is generally used
  3697. within this document, it is actually \term{implementation-dependent} whether a
  3698. single \term{object} fills the role of the \term{standard readtable},
  3699. or whether there might be multiple such objects, any one of which could be used on any
  3700. given occasion where ``the \term{standard readtable}'' is called for.
  3701. As such, this phrase should be seen as an indefinite reference
  3702. in all cases except for anaphoric references.)
  3703. \endissue{WITH-STANDARD-IO-SYNTAX-READTABLE:X3J13-MAR-91}
  3704. \gentry{standard syntax} \Noun\
  3705. the syntax represented by the \term{standard readtable}
  3706. and used as a reference syntax throughout this document.
  3707. \Seesection\TheStandardSyntax.
  3708. \gentry{standardized} \Adjective\ (of a \term{name}, \term{object}, or definition)
  3709. having been defined by \clisp.
  3710. \gexample{All standardized variables that are required to
  3711. hold bidirectional streams have ``\f{-io*}'' in their name.}
  3712. \gentry{startup environment} \Noun\
  3713. the \term{global environment} of the running \term{Lisp image}
  3714. from which the \term{compiler} was invoked.
  3715. \gentry{step} \TransitiveVerb, \Noun\
  3716. 1. \TransitiveVerb\ (an iteration \term{variable}) to \term{assign} the \term{variable}
  3717. a new \term{value} at the end of an iteration, in preparation for a new iteration.
  3718. 2. \Noun\ the \term{code} that identifies how the next value in an iteration
  3719. is to be computed.
  3720. 3. \TransitiveVerb\ (\term{code}) to specially execute the \term{code}, pausing at
  3721. intervals to allow user confirmation or intervention, usually for debugging.
  3722. \gentry{stream} \Noun\
  3723. an \term{object} that can be used with an input or output function to
  3724. identify an appropriate source or sink of \term{characters} or
  3725. \term{bytes} for that operation.
  3726. \issue{CLOSED-STREAM-FUNCTIONS:ALLOW-INQUIRY}
  3727. \issue{PATHNAME-STREAM:FILES-OR-SYNONYM}
  3728. \gentry{stream associated with a file} \Noun\
  3729. a \term{file stream}, or a \term{synonym stream} the \term{target}
  3730. of which is a \term{stream associated with a file}.
  3731. %!!! I wonder if this really needs to be said...
  3732. Such a \term{stream} cannot be created with
  3733. \funref{make-two-way-stream},
  3734. \funref{make-echo-stream},
  3735. \funref{make-broadcast-stream},
  3736. \funref{make-concatenated-stream},
  3737. \funref{make-string-input-stream},
  3738. or \funref{make-string-output-stream}.
  3739. \endissue{PATHNAME-STREAM:FILES-OR-SYNONYM}
  3740. \endissue{CLOSED-STREAM-FUNCTIONS:ALLOW-INQUIRY}
  3741. \gentry{stream designator} \Noun\
  3742. a \term{designator} for a \term{stream}; that is,
  3743. an \term{object} that denotes a \term{stream}
  3744. and that is one of:
  3745. \t\ (denoting \thevalueof{*terminal-io*}),
  3746. \nil\ (denoting \thevalueof{*standard-input*}
  3747. for \term{input} \term{stream designators}
  3748. or denoting \thevalueof{*standard-output*}
  3749. for \term{output} \term{stream designators}),
  3750. or a \term{stream} (denoting itself).
  3751. \gentry{stream element type} \Noun\ (of a \term{stream})
  3752. the \term{type} of data for which the \term{stream} is specialized.
  3753. %KMP: Is there a notion of upgraded element type in this situation?
  3754. %Moon: Surely! But there is no way for a portable program to detect it.
  3755. \gentry{stream variable} \Noun\
  3756. a \term{variable} whose \term{value} must be a \term{stream}.
  3757. \gentry{stream variable designator} \Noun\
  3758. a \term{designator} for a \term{stream variable}; that is,
  3759. a \term{symbol} that denotes a \term{stream variable}
  3760. and that is one of:
  3761. \t\ (denoting \varref{*terminal-io*}),
  3762. \nil\ (denoting \varref{*standard-input*}
  3763. for \term{input} \term{stream variable designators}
  3764. or denoting \varref{*standard-output*}
  3765. for \term{output} \term{stream variable designators}),
  3766. or some other \term{symbol} (denoting itself).
  3767. \gentry{string} \Noun\
  3768. a specialized \term{vector} that is \oftype{string},
  3769. and whose elements are \oftypes{character}.
  3770. \gentry{string designator} \Noun\
  3771. a \term{designator} for a \term{string}; that is,
  3772. an \term{object} that denotes a \term{string}
  3773. and that is one of:
  3774. a \term{character} (denoting a \term{singleton} \term{string}
  3775. that has the \term{character} as its only \term{element}),
  3776. a \term{symbol} (denoting the \term{string} that is its \term{name}),
  3777. or a \term{string} (denoting itself).
  3778. \issue{STRING-COERCION:MAKE-CONSISTENT}
  3779. The intent is that this term be consistent with the behavior of \funref{string};
  3780. \term{implementations} that extend \funref{string} must extend the meaning of
  3781. this term in a compatible way.
  3782. \endissue{STRING-COERCION:MAKE-CONSISTENT}
  3783. \gentry{string equal} \Adjective\
  3784. the \term{same} under \funref{string-equal}.
  3785. \gentry{string stream} \Noun\
  3786. a \term{stream} \oftype{string-stream}.
  3787. \gentry{structure} \Noun\
  3788. an \term{object} \oftype{structure-object}.
  3789. % It's really pathetic that the type structure-object
  3790. % is not just called structure. -kmp 2-Jan-91
  3791. \gentry{structure class} \Noun\
  3792. %Moon: See comment for standard class.
  3793. %"instance" => "generalized instance" per Quinquevirate. -kmp 14-Feb-92
  3794. a \term{class} that is a \term{generalized instance} \ofclass{structure-class}.
  3795. \gentry{structure name} \Noun\
  3796. a \term{name} defined with \macref{defstruct}.
  3797. Usually, such a \term{type} is also a \term{structure class},
  3798. %!!! Really? Must they be implementation-dependent?
  3799. but there may be \term{implementation-dependent} situations
  3800. in which this is not so, if the \kwd{type} option to \macref{defstruct} is used.
  3801. \gentry{style warning} \Noun\
  3802. a \term{condition} \oftype{style-warning}.
  3803. \gentry{subclass} \Noun\
  3804. a \term{class} that \term{inherits} from another \term{class},
  3805. called a \term{superclass}.
  3806. (No \term{class} is a \term{subclass} of itself.)
  3807. \gentry{subexpression} \Noun\ (of an \term{expression})
  3808. an \term{expression} that is contained within the \term{expression}.
  3809. (In fact, the state of being a \term{subexpression} is not an attribute
  3810. of the \term{subexpression}, but really an attribute of the containing
  3811. \term{expression} since the \term{same} \term{object} can at once be
  3812. a \term{subexpression} in one context, and not in another.)
  3813. \gentry{subform} \Noun\ (of a \term{form})
  3814. an \term{expression} that is a \term{subexpression} of the \term{form},
  3815. and which by virtue of its position in that \term{form} is also a
  3816. \term{form}.
  3817. \gexample{\f{(f x)} and \f{x}, but not \f{exit}, are subforms of
  3818. \f{(return-from exit (f x))}.}
  3819. \gentry{subrepertoire} \Noun\
  3820. a subset of a \term{repertoire}.
  3821. \gentry{subtype} \Noun\
  3822. a \term{type} whose membership is the same as or a proper subset of the
  3823. membership of another \term{type}, called a \term{supertype}.
  3824. (Every \term{type} is a \term{subtype} of itself.)
  3825. \gentry{superclass} \Noun\
  3826. a \term{class} from which another \term{class}
  3827. (called a \term{subclass}) \term{inherits}.
  3828. (No \term{class} is a \term{superclass} of itself.)
  3829. \Seeterm{subclass}.
  3830. \gentry{supertype} \Noun\
  3831. a \term{type} whose membership is the same as or a proper superset
  3832. of the membership of another \term{type}, called a \term{subtype}.
  3833. (Every \term{type} is a \term{supertype} of itself.)
  3834. \Seeterm{subtype}.
  3835. \gentry{supplied-p parameter} \Noun\
  3836. a \term{parameter} which recieves its \term{generalized boolean} value
  3837. implicitly due to the presence or absence of an \term{argument}
  3838. corresponding to another \term{parameter}
  3839. (such as an \term{optional parameter} or a \term{rest parameter}).
  3840. \Seesection\OrdinaryLambdaLists.
  3841. \gentry{symbol} \Noun\
  3842. an \term{object} \oftype{symbol}.
  3843. \gentry{symbol macro} \Noun\
  3844. a \term{symbol} that stands for another \term{form}.
  3845. \Seemac{symbol-macrolet}.
  3846. % \gentry{symbol name designator} \Noun\
  3847. % a \term{designator} for the \term{name} of a \term{symbol}; that is,
  3848. % an \term{object} that denotes a \term{symbol}
  3849. % and that is one of:
  3850. % a \term{character} (denoting a \term{singleton} \term{string}
  3851. % that has the \term{character} as its only \term{element}),
  3852. % a \term{symbol} (denoting the \term{string} that is its \term{name}),
  3853. % or a \term{string} (denoting itself).
  3854. \gentry{synonym stream} \Noun\
  3855. 1. a \term{stream} \oftype{synonym-stream},
  3856. which is consequently a \term{stream} that is an alias for another \term{stream},
  3857. which is the \term{value} of a \term{dynamic variable}
  3858. whose \term{name} is the \term{synonym stream symbol} of the \term{synonym stream}.
  3859. \Seefun{make-synonym-stream}.
  3860. 2. (to a \term{stream})
  3861. a \term{synonym stream} which has the \term{stream} as the \term{value}
  3862. of its \term{synonym stream symbol}.
  3863. 3. (to a \term{symbol})
  3864. a \term{synonym stream} which has the \term{symbol} as its
  3865. \term{synonym stream symbol}.
  3866. \gentry{synonym stream symbol} \Noun\ (of a \term{synonym stream})
  3867. the \term{symbol} which names the \term{dynamic variable} which has as its
  3868. \term{value} another \term{stream} for which the \term{synonym stream}
  3869. is an alias.
  3870. \gentry{syntax type} \Noun\ (of a \term{character})
  3871. one of several classifications, enumerated in \figref\PossibleSyntaxTypes,
  3872. that are used for dispatch during parsing by the \term{Lisp reader}.
  3873. \Seesection\CharacterSyntaxTypes.
  3874. \gentry{system class} \Noun\
  3875. a \term{class} that may be \oftype{built-in-class} in a \term{conforming implementation}
  3876. and hence cannot be inherited by \term{classes} defined by \term{conforming programs}.
  3877. \gentry{system code} \Noun\
  3878. \term{code} supplied by the \term{implementation} to implement this specification
  3879. (\eg the definition of \funref{mapcar})
  3880. or generated automatically in support of this specification
  3881. (\eg during method combination);
  3882. that is, \term{code} that is not \term{programmer code}.
  3883. % %!!! Now that there's this term "standarized", this term could probably go away.
  3884. % % -kmp 24-Jan-92
  3885. % \gentry{system stream variable} \Noun\
  3886. % a \term{standardized} \term{stream variable}.
  3887. % \Seesection\StreamConcepts.
  3888. \indextab{T}
  3889. \gentry{t} \Noun\
  3890. 1. a. the \term{boolean} representing true.
  3891. b. the canonical \term{generalized boolean} representing true.
  3892. (Although any \term{object} other than \nil\ is considered \term{true}
  3893. as a \term{generalized boolean},
  3894. \f{t} is generally used when there is no special reason to prefer one
  3895. such \term{object} over another.)
  3896. 2. the \term{name} of the \term{type} to which all \term{objects} belong---the
  3897. \term{supertype} of all \term{types} (including itself).
  3898. 3. the \term{name} of the \term{superclass} of all \term{classes} except itself.
  3899. \gentry{tag} \Noun\
  3900. 1. a \term{catch tag}.
  3901. 2. a \term{go tag}.
  3902. \issue{TAILP-NIL:T}
  3903. \gentry{tail} \Noun\ (of a \term{list})
  3904. an \term{object} that is the \term{same} as either some \term{cons}
  3905. which makes up that \term{list} or the \term{atom} (if any) which terminates
  3906. the \term{list}.
  3907. \gexample{The empty list is a tail of every proper list.}
  3908. \endissue{TAILP-NIL:T}
  3909. \gentry{target} \Noun\
  3910. 1. (of a \term{constructed stream})
  3911. a \term{constituent} of the \term{constructed stream}.
  3912. \gexample{The target of a synonym stream is
  3913. the value of its synonym stream symbol.}
  3914. 2. (of a \term{displaced array})
  3915. the \term{array} to which the \term{displaced array} is displaced.
  3916. (In the case of a chain of \term{constructed streams} or \term{displaced arrays},
  3917. the unqualified term ``\term{target}'' always refers to the immediate
  3918. \term{target} of the first item in the chain, not the immediate target
  3919. of the last item.)
  3920. %!!! Do we want a term "eventual target" to talk about the last item?
  3921. \gentry{terminal I/O} \Noun\
  3922. the \term{bidirectional} \term{stream}
  3923. that is the \term{value} of \thevariable{*terminal-io*}.
  3924. \gentry{terminating} \Noun\ (of a \term{macro character})
  3925. being such that, if it appears while parsing a token, it terminates that token.
  3926. \Seesection\ReaderAlgorithm.
  3927. \gentry{tertiary value} \Noun\ (of \term{values} resulting from the
  3928. \term{evaluation} of a \term{form})
  3929. the third \term{value}, if any,
  3930. or else \nil\ if there are fewer than three \term{values}.
  3931. \gentry{throw} \Verb\
  3932. to transfer control and \term{values} to a \term{catch}.
  3933. \Seespec{throw}.
  3934. \gentry{tilde} \Noun\
  3935. the \term{standard character} that is called ``tilde'' (\f{~}).
  3936. \Seefigure\StdCharsThree.
  3937. %!!! Moon: What's a "time line"?
  3938. \gentry{time}
  3939. a representation of a point (\term{absolute} \term{time})
  3940. or an interval (\term{relative} \term{time})
  3941. on a time line.
  3942. \Seeterm{decoded time}, \term{internal time}, and \term{universal time}.
  3943. \issue{TIME-ZONE-NON-INTEGER:ALLOW}
  3944. \gentry{time zone} \Noun\
  3945. a \term{rational} multiple of \f{1/3600} between \f{-24} (inclusive)
  3946. and \f{24} (inclusive) that represents a time zone as a number of hours
  3947. offset from Greenwich Mean Time. Time zone values increase with motion to the west,
  3948. so Massachusetts, U.S.A. is in time zone \f{5},
  3949. California, U.S.A. is time zone \f{8},
  3950. and Moscow, Russia is time zone \term{-3}.
  3951. % (In regions where ``daylight savings time'' might apply,
  3952. % the time zone does not depend on whether daylight savings time
  3953. % is in effect---such information is represented separately.)
  3954. %% Moon didn't like that, and prefers the following:
  3955. (When ``daylight savings time'' is separately represented
  3956. as an \term{argument} or \term{return value}, the \term{time zone}
  3957. that accompanies it does not depend on whether daylight savings time
  3958. is in effect.)
  3959. \endissue{TIME-ZONE-NON-INTEGER:ALLOW}
  3960. \gentry{token} \Noun\
  3961. a textual representation for a \term{number} or a \term{symbol}.
  3962. \Seesection\InterpOfTokens.
  3963. \gentry{top level form} \Noun\
  3964. % The old definition is contradicted by item (4) in the description of how
  3965. % EVAL-WHEN works. --sjl 3 Mar 92
  3966. % a \term{form} which, because it is not a \term{subform} of some \term{form}
  3967. % that \term{establishes} a new \term{lexical environment}, is to be executed
  3968. % in the \term{null lexical environment}.
  3969. a \term{form} which is processed specially by \funref{compile-file} for
  3970. the purposes of enabling \term{compile time} \term{evaluation} of that
  3971. \term{form}.
  3972. \term{Top level forms} include those \term{forms} which
  3973. are not \term{subforms} of any other \term{form},
  3974. and certain other cases. \Seesection\TopLevelForms.
  3975. \gentry{trace output} \Noun\
  3976. the \term{output} \term{stream} which is the \term{value} of the \term{dynamic variable}
  3977. \varref{*trace-output*}.
  3978. \gentry{tree} \Noun\
  3979. 1. a binary recursive data structure made up of \term{conses} and
  3980. \term{atoms}: the \term{conses} are themselves also \term{trees}
  3981. (sometimes called ``subtrees'' or ``branches''), and the \term{atoms}
  3982. are terminal nodes (sometimes called \term{leaves}). Typically,
  3983. the \term{leaves} represent data while the branches establish some
  3984. relationship among that data.
  3985. % Moon wondered if "acyclic" should be here. I think that's fine for math
  3986. % but not for computer science. so i'm leaving it out. I think it's
  3987. % useful to talk about a tree that is circular, but "circular tree" would
  3988. % be an oxymoron under so rigorous a definition. as with a list, one
  3989. % often doesn't descend a tree in order to prove it's well-formed before
  3990. % manipulating it with tree primitives, and you'd still like to be able to
  3991. % say it was a tree. tree is more of a view on the process of
  3992. % destructuring than a kind of object. after all, all objects are trees.
  3993. % -kmp 15-Nov-91
  3994. 2. in general, any recursive data structure that has some notion of
  3995. ``branches'' and \term{leaves}.
  3996. \gentry{tree structure} \Noun\ (of a \term{tree}\meaning{1})
  3997. the set of \term{conses} that make up the \term{tree}.
  3998. Note that while the \term{car}\meaning{1b} component of each such \term{cons}
  3999. is part of the \term{tree structure},
  4000. the \term{objects} that are the \term{cars}\meaning{2} of each \term{cons}
  4001. in the \term{tree}
  4002. are not themselves part of its \term{tree structure}
  4003. unless they are also \term{conses}.
  4004. \gentry{true} \Noun\
  4005. any \term{object}
  4006. that is not \term{false}
  4007. and that is used to represent the success of a \term{predicate} test.
  4008. \Seeterm{t}\meaning{1}.
  4009. \gentry{truename} \Noun\
  4010. 1. the canonical \term{filename} of a \term{file} in the \term{file system}.
  4011. \Seesection\Truenames.
  4012. 2. a \term{pathname} representing a \term{truename}\meaning{1}.
  4013. \gentry{two-way stream} \Noun\
  4014. a \term{stream} \oftype{two-way-stream},
  4015. which is a \term{bidirectional} \term{composite stream} that
  4016. receives its input from an associated \term{input} \term{stream}
  4017. and sends its output to an associated \term{output} \term{stream}.
  4018. \gentry{type} \Noun\
  4019. 1. a set of \term{objects}, usually with common structure, behavior, or purpose.
  4020. (Note that the expression ``\i{X} is of type \param{S$\sub{a}$}''
  4021. naturally implies that ``\i{X} is of type \param{S$\sub{b}$}'' if
  4022. \param{S$\sub{a}$} is a \term{subtype} of \param{S$\sub{b}$}.)
  4023. 2. (immediately following the name of a \term{type})
  4024. a \term{subtype} of that \term{type}.
  4025. \gexample{The type \typeref{vector} is an array type.}
  4026. \gentry{type declaration} \Noun\
  4027. a \term{declaration} that asserts that every reference to a
  4028. specified \term{binding} within the scope of the \term{declaration}
  4029. results in some \term{object} of the specified \term{type}.
  4030. \gentry{type equivalent} \Adjective\ (of two \term{types} $X$ and $Y$)
  4031. having the same \term{elements};
  4032. that is, $X$ is a \term{subtype} of $Y$
  4033. and $Y$ is a \term{subtype} of $X$.
  4034. \gentry{type expand} \Noun\
  4035. to fully expand a \term{type specifier}, removing any references to
  4036. \term{derived types}. (\clisp\ provides no program interface to cause
  4037. this to occur, but the semantics of \clisp\ are such that every
  4038. \term{implementation} must be able to do this internally, and some
  4039. situations involving \term{type specifiers} are most easily described
  4040. in terms of a fully expanded \term{type specifier}.)
  4041. \gentry{type specifier} \Noun\
  4042. an \term{expression} that denotes a \term{type}.
  4043. \gexample{The symbol \f{random-state}, the list \f{(integer 3 5)},
  4044. the list \f{(and list (not null))}, and the class named
  4045. \f{standard-class} are type specifiers.}
  4046. \indextab{U}
  4047. \gentry{unbound} \Adjective\
  4048. not having an associated denotation in a \term{binding}.
  4049. \Seeterm{bound}.
  4050. \gentry{unbound variable} \Noun\
  4051. a \term{name} that is syntactically plausible as the name of a
  4052. \term{variable} but which is not \term{bound}
  4053. in the \term{variable} \term{namespace}.
  4054. \gentry{undefined function} \Noun\
  4055. a \term{name} that is syntactically plausible as the name of a
  4056. \term{function} but which is not \term{bound}
  4057. in the \term{function} \term{namespace}.
  4058. \gentry{unintern} \TransitiveVerb\ (a \term{symbol} in a \term{package})
  4059. to make the \term{symbol} not be \term{present} in that \term{package}.
  4060. (The \term{symbol} might continue to be \term{accessible} by inheritance.)
  4061. \gentry{uninterned} \Adjective\ (of a \term{symbol})
  4062. not \term{accessible} in any \term{package}; \ie not \term{interned}\meaning{1}.
  4063. \gentry{universal time} \Noun\
  4064. \term{time}, represented as a non-negative \term{integer} number of seconds.
  4065. %!!! Moon: Universal time is -always- absolute!
  4066. \term{Absolute} \term{universal time} is measured as an offset
  4067. from the beginning of the year 1900 (ignoring \term{leap seconds}).
  4068. \Seesection\UniversalTime.
  4069. \gentry{unqualified method} \Noun\
  4070. a \term{method} with no \term{qualifiers}.
  4071. \gentry{unregistered package} \Noun\
  4072. a \term{package} \term{object} that is not present in the \term{package registry}.
  4073. An \term{unregistered package} has no \term{name}; \ie its \term{name} is \nil.
  4074. \Seefun{delete-package}.
  4075. \gentry{unsafe} \Adjective\ (of \term{code})
  4076. not \term{safe}. (Note that, unless explicitly specified otherwise,
  4077. if a particular kind of error checking is
  4078. guaranteed only in a \term{safe} context, the same checking might or might not occur
  4079. in that context if it were \term{unsafe}; describing a context as \term{unsafe}
  4080. means that certain kinds of error checking are not reliably enabled
  4081. but does not guarantee that error checking is definitely disabled.)
  4082. \gentry{unsafe call} \Noun\
  4083. a \term{call} that is not a \term{safe call}.
  4084. For more detailed information, \seesection\SafeAndUnsafeCalls.
  4085. \gentry{upgrade} \TransitiveVerb\ (a declared \term{type} to an actual \term{type})
  4086. 1. (when creating an \term{array})
  4087. to substitute an \term{actual array element type}
  4088. for an \term{expressed array element type}
  4089. when choosing an appropriately \term{specialized} \term{array} representation.
  4090. \Seefun{upgraded-array-element-type}.
  4091. 2. (when creating a \term{complex})
  4092. to substitute an \term{actual complex part type}
  4093. for an \term{expressed complex part type}
  4094. when choosing an appropriately \term{specialized} \term{complex} representation.
  4095. \Seefun{upgraded-complex-part-type}.
  4096. \gentry{upgraded array element type} \Noun\ (of a \term{type})
  4097. a \term{type} that is a \term{supertype} of the \term{type}
  4098. and that is used instead of the \term{type} whenever the
  4099. \term{type} is used as an \term{array element type}
  4100. for object creation or type discrimination.
  4101. \Seesection\ArrayUpgrading.
  4102. \gentry{upgraded complex part type} \Noun\ (of a \term{type})
  4103. a \term{type} that is a \term{supertype} of the \term{type}
  4104. and that is used instead of the \term{type} whenever the
  4105. \term{type} is used as a \term{complex part type}
  4106. for object creation or type discrimination.
  4107. \Seefun{upgraded-complex-part-type}.
  4108. \gentry{uppercase} \Adjective\ (of a \term{character})
  4109. being among \term{standard characters} corresponding to
  4110. the capital letters \f{A} through \f{Z},
  4111. or being some other \term{implementation-defined} \term{character}
  4112. that is defined by the \term{implementation} to be \term{uppercase}.
  4113. \Seesection\CharactersWithCase.
  4114. \gentry{use} \TransitiveVerb\ (a \term{package} $P\sub 1$)
  4115. to \term{inherit} the \term{external symbols} of $P\sub 1$.
  4116. (If a package $P\sub 2$ uses $P\sub 1$,
  4117. the \term{external symbols} of $P\sub 1$
  4118. become \term{internal symbols} of $P\sub 2$
  4119. unless they are explicitly \term{exported}.)
  4120. \gexample{The package \packref{cl-user} uses the package \packref{cl}.}
  4121. \gentry{use list} \Noun\ (of a \term{package})
  4122. a (possibly empty) \term{list} associated with each \term{package}
  4123. which determines what other \term{packages} are currently being
  4124. \term{used} by that \term{package}.
  4125. \gentry{user} \Noun\
  4126. an active entity, typically a human, that invokes or interacts with a
  4127. \term{program} at run time, but that is not necessarily a \term{programmer}.
  4128. \indextab{V}
  4129. \issue{ARRAY-DIMENSION-LIMIT-IMPLICATIONS:ALL-FIXNUM}
  4130. \gentry{valid array dimension} \Noun\
  4131. a \term{fixnum} suitable for use as an \term{array} \term{dimension}.
  4132. Such a \term{fixnum} must be greater than or equal to zero,
  4133. and less than the \term{value} of \conref{array-dimension-limit}.
  4134. When multiple \term{array} \term{dimensions} are to be used together to specify a
  4135. multi-dimensional \term{array}, there is also an implied constraint
  4136. that the product of all of the \term{dimensions} be less than the \term{value} of
  4137. \conref{array-total-size-limit}.
  4138. \endissue{ARRAY-DIMENSION-LIMIT-IMPLICATIONS:ALL-FIXNUM}
  4139. \issue{ARRAY-DIMENSION-LIMIT-IMPLICATIONS:ALL-FIXNUM}
  4140. \gentry{valid array index} \Noun\ (of an \term{array})
  4141. a \term{fixnum} suitable for use as one of possibly several indices needed
  4142. to name an \term{element} of the \term{array} according to a multi-dimensional
  4143. Cartesian coordinate system. Such a \term{fixnum} must
  4144. be greater than or equal to zero,
  4145. and must be less than the corresponding \term{dimension}\meaning{1}
  4146. of the \term{array}.
  4147. (Unless otherwise explicitly specified,
  4148. the phrase ``a \term{list} of \term{valid array indices}'' further implies
  4149. that the \term{length} of the \term{list} must be the same as the
  4150. \term{rank} of the \term{array}.)
  4151. \gexample{For a \f{2} by~\f{3} array,
  4152. valid array indices for the first dimension are \f{0} and~\f{1}, and
  4153. valid array indices for the second dimension are \f{0}, \f{1} and~\f{2}.}
  4154. \endissue{ARRAY-DIMENSION-LIMIT-IMPLICATIONS:ALL-FIXNUM}
  4155. \issue{ARRAY-DIMENSION-LIMIT-IMPLICATIONS:ALL-FIXNUM}
  4156. \gentry{valid array row-major index} \Noun\ (of an \term{array},
  4157. which might have any number
  4158. of \term{dimensions}\meaning{2})
  4159. a single \term{fixnum} suitable for use in naming any \term{element}
  4160. of the \term{array}, by viewing the array's storage as a linear
  4161. series of \term{elements} in row-major order.
  4162. Such a \term{fixnum} must be greater than or equal to zero,
  4163. and less than the \term{array total size} of the \term{array}.
  4164. \endissue{ARRAY-DIMENSION-LIMIT-IMPLICATIONS:ALL-FIXNUM}
  4165. \issue{ARRAY-DIMENSION-LIMIT-IMPLICATIONS:ALL-FIXNUM}
  4166. \gentry{valid fill pointer} \Noun\ (of an \term{array})
  4167. a \term{fixnum} suitable for use as a \term{fill pointer} for the \term{array}.
  4168. Such a \term{fixnum} must be greater than or equal to zero,
  4169. and less than or equal to the \term{array total size} of the \term{array}.
  4170. \endissue{ARRAY-DIMENSION-LIMIT-IMPLICATIONS:ALL-FIXNUM}
  4171. \editornote{KMP: The ``valid pathname xxx'' definitions were taken from
  4172. text found in make-pathname, but look wrong to me.
  4173. I'll fix them later.}%!!!
  4174. \issue{PATHNAME-UNSPECIFIC-COMPONENT:NEW-TOKEN}
  4175. \gentry{valid logical pathname host} \Noun\
  4176. a \term{string} that has been defined as the name of a \term{logical host}.
  4177. \Seefun{load-logical-pathname-translations}.
  4178. \gentry{valid pathname device} \Noun\
  4179. a \term{string},
  4180. \nil,
  4181. \kwd{unspecific},
  4182. or some other \term{object} defined by the \term{implementation}
  4183. to be a \term{valid pathname device}.
  4184. \gentry{valid pathname directory} \Noun\
  4185. a \term{string},
  4186. a \term{list} of \term{strings},
  4187. \nil,
  4188. \issue{PATHNAME-SUBDIRECTORY-LIST:NEW-REPRESENTATION}
  4189. \kwd{wild},
  4190. \endissue{PATHNAME-SUBDIRECTORY-LIST:NEW-REPRESENTATION}
  4191. \kwd{unspecific},
  4192. or some other \term{object} defined by the \term{implementation}
  4193. to be a \term{valid directory component}.
  4194. \gentry{valid pathname host} \Noun\
  4195. a \term{valid physical pathname host}
  4196. or a \term{valid logical pathname host}.
  4197. \gentry{valid pathname name} \Noun\
  4198. a \term{string},
  4199. \nil,
  4200. \kwd{wild},
  4201. \kwd{unspecific},
  4202. or some other \term{object} defined by the \term{implementation}
  4203. to be a \term{valid pathname name}.
  4204. \gentry{valid pathname type} \Noun\
  4205. a \term{string},
  4206. \nil,
  4207. \kwd{wild},
  4208. \kwd{unspecific}.
  4209. %!!! Moon: "... or some other ..."
  4210. \gentry{valid pathname version} \Noun\
  4211. a non-negative \term{integer},
  4212. or one of \kwd{wild},
  4213. \kwd{newest},
  4214. \kwd{unspecific},
  4215. or \nil.
  4216. %!!! KMP: "... or some other ..."
  4217. %!!! What to do about this?
  4218. The symbols \kwd{oldest}, \kwd{previous}, and \kwd{installed} are
  4219. \term{semi-standard} special version symbols.
  4220. \gentry{valid physical pathname host} \Noun\
  4221. any of
  4222. a \term{string},
  4223. a \term{list} of \term{strings},
  4224. or the symbol \kwd{unspecific},
  4225. that is recognized by the implementation as the name of a host.
  4226. \endissue{PATHNAME-UNSPECIFIC-COMPONENT:NEW-TOKEN}
  4227. \gentry{valid sequence index} \Noun\ (of a \term{sequence})
  4228. an \term{integer} suitable for use to name an \term{element}
  4229. of the \term{sequence}. Such an \term{integer} must
  4230. be greater than or equal to zero,
  4231. and must be less than the \term{length} of the \term{sequence}.
  4232. \issue{ARRAY-DIMENSION-LIMIT-IMPLICATIONS:ALL-FIXNUM}
  4233. (If the \term{sequence} is an \term{array},
  4234. the \term{valid sequence index} is further constrained to be a \term{fixnum}.)
  4235. \endissue{ARRAY-DIMENSION-LIMIT-IMPLICATIONS:ALL-FIXNUM}
  4236. \gentry{value} \Noun\
  4237. 1. a. one of possibly several \term{objects} that are the result of
  4238. an \term{evaluation}.
  4239. b. (in a situation where exactly one value is expected from the
  4240. \term{evaluation} of a \term{form})
  4241. the \term{primary value} returned by the \term{form}.
  4242. c. (of \term{forms} in an \term{implicit progn}) one of possibly
  4243. several \term{objects} that result from the \term{evaluation}
  4244. of the last \term{form}, or \nil\ if there are no \term{forms}.
  4245. 2. an \term{object} associated with a \term{name} in a \term{binding}.
  4246. 3. (of a \term{symbol}) the \term{value} of the \term{dynamic variable}
  4247. named by that symbol.
  4248. 4. an \term{object} associated with a \term{key}
  4249. in an \term{association list},
  4250. a \term{property list},
  4251. or a \term{hash table}.
  4252. \gentry{value cell} \Noun\ \Traditional\ (of a \term{symbol})
  4253. The \term{place} which holds the \term{value}, if any, of the
  4254. \term{dynamic variable} named by that \term{symbol},
  4255. and which is \term{accessed} by \funref{symbol-value}.
  4256. \Seeterm{cell}.
  4257. \gentry{variable} \Noun\
  4258. %% Rewritten per Boyer/Kaufmann/Moore #5 (by X3J13 vote at May 4-5, 1994 meeting).
  4259. %% -kmp 9-May-94
  4260. % %!!! Moon: This is certainly no valid definition, especially when contrasting
  4261. % % the variable namespace with the function namespace.
  4262. % a \term{binding} in which a \term{symbol} is the \term{name}
  4263. % used to refer to an \term{object}.
  4264. a \term{binding} in the ``variable'' \term{namespace}.
  4265. \Seesection\SymbolsAsForms.
  4266. \gentry{vector} \Noun\
  4267. a one-dimensional \term{array}.
  4268. \gentry{vertical-bar} \Noun\
  4269. the \term{standard character} that is called ``vertical bar'' (\f{|}).
  4270. \Seefigure\StdCharsThree.
  4271. \indextab{W}
  4272. %"cursor" => "print position" because Barmar didn't like "cursor".
  4273. \gentry{whitespace} \Noun\
  4274. 1. one or more \term{characters} that are
  4275. either the \term{graphic} \term{character} \f{\#\\Space}
  4276. or else \term{non-graphic} characters such as \f{\#\\Newline}
  4277. that only move the print position.
  4278. 2. a. \Noun\ the \term{syntax type} of a \term{character}
  4279. that is a \term{token} separator.
  4280. For details, \seesection\WhitespaceChars.
  4281. b. \Adjective\ (of a \term{character})
  4282. having the \term{whitespace}\meaning{2a} \term{syntax type}\meaning{2}.
  4283. c. \Noun\ a \term{whitespace}\meaning{2b} \term{character}.
  4284. \gentry{wild} \Adjective\
  4285. 1. (of a \term{namestring}) using an \term{implementation-defined}
  4286. syntax for naming files, which might ``match'' any of possibly several
  4287. possible \term{filenames}, and which can therefore be used to refer to
  4288. the aggregate of the \term{files} named by those \term{filenames}.
  4289. 2. (of a \term{pathname}) a structured representation of a name which
  4290. might ``match'' any of possibly several \term{pathnames}, and which can
  4291. therefore be used to refer to the aggregate of the \term{files} named by those
  4292. \term{pathnames}. The set of \term{wild} \term{pathnames} includes, but
  4293. is not restricted to, \term{pathnames} which have a component which is
  4294. \kwd{wild}, or which have a directory component which contains \kwd{wild}
  4295. or \kwd{wild-inferors}.
  4296. \Seefun{wild-pathname-p}.
  4297. %!!! Need to fix this. Some places use wild to refer to components instead of full pathnames.
  4298. % 3. (of a \term{pathname} component)
  4299. % a component of a \term{pathname} that might ``match'' any of possibly
  4300. % several values for that component, and which can
  4301. % therefore be used to refer to the aggregate of the \term{files} named by those
  4302. % \term{pathnames}. The set of \term{wild} \term{pathnames} includes, but
  4303. % is not restricted to, \term{pathnames} which have a component which is
  4304. % \kwd{wild}, or which have a directory component which contains \kwd{wild}
  4305. % or \kwd{wild-inferors}.
  4306. % \Seefun{wild-pathname-p}.
  4307. \gentry{write} \TransitiveVerb\
  4308. \issue{IGNORE-USE-TERMINOLOGY:VALUE-ONLY}
  4309. 1. (a \term{binding} or \term{slot} or component)
  4310. to change the \term{value} of the \term{binding} or \term{slot}.
  4311. \endissue{IGNORE-USE-TERMINOLOGY:VALUE-ONLY}
  4312. 2. (an \term{object} to a \term{stream})
  4313. to output a representation of the \term{object} to the \term{stream}.
  4314. \gentry{writer} \Noun\
  4315. a \term{function} that \term{writes}\meaning{1} a \term{variable} or \term{slot}.
  4316. \indextab{Y}
  4317. \gentry{yield} \TransitiveVerb\ (\term{values})
  4318. to produce the \term{values} as the result of \term{evaluation}.
  4319. \gexample{The form \f{(+ 2 3)} yields \f{5}.}
  4320. \endlist
  4321. \endlist