This page was last updated on .

CLHS » Figures » 1.1 Notations for NIL

For Evaluation? Notation Typically Implied Role
Yes nil use as a boolean
Yes 'nil use as a symbol
Yes '() use as an empty list
No nil use as a symbol or boolean
No () use as an empty list

CLHS » Figures » 1.2 Deprecated Functions

CLHS » Figures » 1.3 Functions with Deprecated :TEST-NOT Arguments

CLHS » Figures » 1.4→1.15 Symbols in the COMMON-LISP package

CLHS » Figures » 2.1 Readtable defined names

CLHS » Figures » 2.2 Variables that influence the Lisp reader

CLHS » Figures » 2.3→2.5 Standard Character Repertoire

CLHS » Figures » 2.3→2.5 Standard Character Repertoire » 2.3 Latin

Graphic ID Glyph Description
LA01 a small a
LA02 A capital A
LB01 b small b
LB02 B capital B
LC01 c small c
LC02 C capital C
LD01 d small d
LD02 D capital D
LE01 e small e
LE02 E capital E
LF01 f small f
LF02 F capital F
LG01 g small g
LG02 G capital G
LH01 h small h
LH02 H capital H
LI01 i small i
LI02 I capital I
LJ01 j small j
LJ02 J capital J
LK01 k small k
LK02 K capital K
LL01 l small l
LL02 L capital L
LM01 m small m
LM02 M capital M
LN01 n small n
LN02 N capital N
LO01 o small o
LO02 O capital O
LP01 p small p
LP02 P capital P
LQ01 q small q
LQ02 Q capital Q
LR01 r small r
LR02 R capital R
LS01 s small s
LS02 S capital S
LT01 t small t
LT02 T capital T
LU01 u small u
LU02 U capital U
LV01 v small v
LV02 V capital V
LW01 w small w
LW02 W capital W
LX01 x small x
LX02 X capital X
LY01 y small y
LY02 Y capital Y
LZ01 z small z
LZ02 Z capital Z

CLHS » Figures » 2.3→2.5 Standard Character Repertoire » 2.4 Numeric

Graphic ID Glyph Description
ND01 1 digit 1
ND02 2 digit 2
ND03 3 digit 3
ND04 4 digit 4
ND05 5 digit 5
ND06 6 digit 6
ND07 7 digit 7
ND08 8 digit 8
ND09 9 digit 9
ND10 0 digit 0

CLHS » Figures » 2.3→2.5 Standard Character Repertoire » 2.5 Special

Graphic ID Glyph Description
SP02 ! exclamation mark
SC03 $ dollar sign
SP04 " quotation mark, or double quote
SP05 ' apostrophe, or [single] quote
SP06 ( left parenthesis, or open parenthesis
SP07 ) right parenthesis, or close parenthesis
SP08 , comma
SP09 _ low line, or underscore
SP10 - hyphen, or minus [sign]
SP11 . full stop, period, or dot
SP12 / solidus, or slash
SP13 : colon
SP14 ; semicolon
SP15 ? question mark
SA01 + plus [sign]
SA03 < less-than [sign]
SA04 = equals [sign]
SA05 > greater-than [sign]
SM01 # number sign, or sharp[sign]
SM02 % percent [sign]
SM03 & ampersand
SM04 * asterisk, or star
SM05 @ commercial at, or at-sign
SM06 [ left [square] bracket
SM07 \ reverse solidus, or backslash
SM08 ] right [square] bracket
SM11 { left curly bracket, or left brace
SM13 | vertical bar
SM14 } right curly bracket, or right brace
SD13 ` grave accent, or backquote
SD15 ^ circumflex accent
SD19 ~ tilde

CLHS » Figures » 2.6 Possible Character Syntax Types

CLHS » Figures » 2.7 Character Syntax Types in Standard Syntax

(Slight alterations to the format of the following table have been made to enhance usability.)

(TODO: Linkify syntax types)

character syntax type additional information
Backspace constituent
Tab whitespace
Newline whitespace
Linefeed whitespace
Page whitespace
Return whitespace
Space whitespace
! constituent Reserved to programmers
" terminating macro char
# non-terminating char
$ constituent Unused in standard names
% constituent
& constituent
' terminating macro char
( terminating macro char
) terminating macro char
* constituent
+ constituent
, terminating macro char
- constituent
. constituent
/ constituent
0 to 9 constituent
: constituent
; terminating macro char
< constituent
= constituent
> constituent
? constituent Reserved to programmers
@ constituent
A to Z constituent
[ constituent Reserved to programmers
\ single escape
] constituent Reserved to programmers
^ constituent
_ constituent
` terminating macro char
a to z constituent
{ constituent Reserved to programmers
| multiple escape
} constituent Reserved to programmers
~ constituent Reserved to implementors
Rubout constituent

CLHS » Figures » 2.8 Constituent Traits of Standard Characters [...]

(Slight alterations to the format of the following table have been made to enhance usability.)

(TODO: Linkify constituent traits)

character constituent traits Normally shadowed?
Backspace invalid
Tab invalid
Newline invalid
Linefeed invalid
Page invalid
Return invalid
Space invalid
! alphabetic
" alphabetic
# alphabetic
$ alphabetic
% alphabetic
& alphabetic
' alphabetic
( alphabetic
) alphabetic
* alphabetic
, alphabetic
0 to 9 alphadigit
: package marker
; alphabetic
< alphabetic
= alphabetic
> alphabetic
? alphabetic
@ alphabetic
[ alphabetic
\ alphabetic
] alphabetic
^ alphabetic
_ alphabetic
` alphabetic
| alphabetic
~ alphabetic
{ alphabetic
} alphabetic
+ alphabetic, plus sign
- alphabetic, minus sign
. alphabetic, dot, decimal point
/ alphabetic, ratio marker
A a alphadigit
B b alphadigit
C c alphadigit
D d alphadigit, double-float exponent marker
E e alphadigit, float exponent-marker
F f alphadigit, single-float exponent marker
G g alphadigit
H h alphadigit
I i alphadigit
J j alphadigit
K k alphadigit
L l alphadigit, long-float exponent marker
M m alphadigit
N n alphadigit
O o alphadigit
P p alphadigit
Q q alphadigit
R r alphadigit
S s alphadigit, short-float exponent marker
T t alphadigit
U u alphadigit
V v alphadigit
W w alphadigit
X x alphadigit
Y y alphadigit
Z z alphadigit
Rubout invalid

CLHS » Figures » 2.9 Syntax for Numeric Tokens

numeric-token  ::=  integer |
                    ratio   |
                    float

integer        ::=  [sign]
                    decimal-digit+
                    decimal-point |
                    [sign]
                    digit+

ratio          ::=  [sign]
                    {digit}+
                    slash
                    {digit}+

float          ::=  [sign]
                    {decimal-digit}*
                    decimal-point
                    {decimal-digit}+
                    [exponent]

                    |

                    [sign]
                    {decimal-digit}+
                    [decimal-point
                        {decimal-digit}*]
                    exponent

exponent       ::=  exponent-marker
                    [sign]
                    {digit}+
sign
a sign.
slash
a slash
decimal-point
a dot.
exponent-marker
an exponent marker.
decimal-digit
a digit in radix 10.
digit
a digit in the current input radix.

CLHS » Figures » 2.10 Examples of reserved tokens

CLHS » Figures » 2.11 Examples of symbols

CLHS » Figures » 2.12 Examples of symbols or potential numbers

CLHS » Figures » 2.13 Examples of Ratios

2/3 This is in canonical form
4/6 A non-canonical form for 2/3
-17/23 A ratio preceded by a sign
-30517578125/32768 This is (-5/2)^15
10/5 The canonical form for this is 2
#o-101/75 Octal notation for -65/61
#3r120/21 Ternary notation for 15/7
#Xbc/ad Hexadecimal notation for 188/173
#xFADED/FACADE Hexadecimal notation for 1027565/16435934

CLHS » Figures » 2.14 Examples of Floating-point numbers

0.0 Floating-point zero in default format
0E0 As input, this is also floating-point zero in default format.
As output, this would appear as 0.0.
0e0 As input, this is also floating-point zero in default format.
As output, this would appear as 0.0.
-.0 As input, this might be a zero or a minus zero,
depending on whether the implementation supports
a distinct minus zero.
As output, 0.0 is zero and -0.0 is minus zero.
0. On input, the integer zero---not a floating-point number!
Whether this appears as 0 or 0. on output depends
on the value of *print-radix*.
0.0s0 A floating-point zero in short format
0s0 As input, this is a floating-point zero in short format.
As output, such a zero would appear as 0.0s0
(or as 0.0 if short-float was the default format).
6.02E+23 Avogadro's number, in default format
602E+21 Also Avogadro's number, in default format

CLHS » Figures » 2.15→2.16 Examples of the printed representation of symbols

FROBBOZ The symbol whose name is FROBBOZ.
frobboz Another way to notate the same symbol.
fRObBoz Yet another way to notate it.
unwind-protect A symbol with a hyphen in its name.
+$ The symbol named +$.
1+ The symbol named 1+.
+1 This is the integer 1, not a symbol.
pascal_style This symbol has an underscore in its name.
file.rel.43 This symbol has periods in its name.
\( The symbol whose name is (.
\+1 The symbol whose name is +1.
+\1 Also the symbol whose name is +1.
\frobboz The symbol whose name is fROBBOZ.
3.14159265\s0 The symbol whose name is 3.14159265s0.
3.14159265\S0 A different symbol, whose name is 3.14159265S0.
3.14159265s0 A possible short float approximation to <PI>.
APL\\360 The symbol whose name is APL\360.
apl\\360 Also the symbol whose name is APL\360.
\(b^2\)\-\4*a*c The name is (B^2) - 4*A*C.
Parentheses and two spaces in it.
\(\b^2\)\-\4*\a*\c The name is (b^2) - 4*a*c.
Letters explicitly lowercase.
|"| The same as writing \".
|(b^2) - 4*a*c| The name is (b^2) - 4*a*c.
|frobboz| The name is frobboz, not FROBBOZ.
|APL\360| The name is APL360.
|APL\\360| The name is APL\360.
|apl\\360| The name is apl\360.
|\|\|| Same as \|\| ---the name is ||.
|(B^2) - 4*A*C| The name is (B^2) - 4*A*C.
Parentheses and two spaces in it.
|(b^2) - 4*a*c| The name is (b^2) - 4*a*c.

CLHS » Figures » 2.17 Valid patterns for tokens

nnnnn a number
xxxxx a symbol in the current package
:xxxxx a symbol in the the KEYWORD package
ppppp:xxxxx an external symbol in the ppppp package
ppppp::xxxxx a (possibly internal) symbol in the ppppp package
:nnnnn undefined
ppppp:nnnnn undefined
ppppp::nnnnn undefined
::aaaaa undefined
aaaaa: undefined
aaaaa:aaaaa:aaaaa undefined

CLHS » Figures » 2.18 Examples of the use of double-quote

"Foo" A string with three characters in it
"" An empty string
"\"APL\\360?\" he cried." A string with twenty characters
"|x| = |-x|" A ten-character string

CLHS » Figures » 2.19 Standard #Dispatching Macro Character Syntax

dispatch char purpose Reserved to user?
Backspace signals error
Tab signals error
Newline signals error
Linefeed signals error
Page signals error
Return signals error
Space signals error
! undefined
" undefined
# reference to = label
$ undefined
% undefined
& undefined
' function abbreviation
( simple vector
) signals error
* bit vector
, undefined
: uninterned symbol
; undefined
< signals error
= labels following object
> undefined
? undefined
@ undefined
[ undefined
\ character object
] undefined
^ undefined
_ undefined
` undefined
| balanced comment
~ undefined
{ undefined
} undefined
+ read-time conditional
- read-time conditional
. read-time evaluation
/ undefined
A a array
B b binary rational
C c complex number
D d undefined
E e undefined
F f undefined
G g undefined
H h undefined
I i undefined
J j undefined
K k undefined
L l undefined
M m undefined
N n undefined
O o octal rational
P p pathname
Q q undefined
R r radix-n rational
S s structure
T t undefined
U u undefined
V v undefined
W w undefined
X x hexadecimal rational
Y y undefined
Z z undefined
Rubout undefined

CLHS » Figures » 2.20 Radix Indicator Example

#2r11010101 Another way of writing 213 decimal
#b11010101 Ditto
#b+11010101 Ditto
#o325 Ditto, in octal radix
#xD5 Ditto, in hexadecimal radix
#16r+D5 Ditto
#o-300 Decimal -192, written in base 8
#3r-21010 Same thing in base 3
#25R-7H Same thing in base 25
#xACCEDED 181202413, in hexadecimal radix

CLHS » Figures » 2.21 Complex Number Example

#C(3.0s1 2.0s-1) A complex with small float parts.
#C(5 -3) A ``Gaussian integer''
#C(5/3 7.0) Will be converted internally to #C(1.66666 7.0)
#C(0 1) The imaginary unit; that is, i.

CLHS » Figures » 3.1 Some Defined Names Applicable to Variables

CLHS » Figures » 3.2 Common Lisp Special Operators

CLHS » Figures » 3.3 Defined names applicable to macros

CLHS » Figures » 3.5 Some operators applicable to receiving multiple values

CLHS » Figures » 3.6 Defined names applicable to compiler macros

CLHS » Figures » 3.7 EVAL-WHEN processing

:compile-toplevel :load-toplevel :execute Processing mode Action New mode
Yes Yes Process compile-time-too
No Yes Yes compile-time-too Process compile-time-too
No Yes Yes not-compile-time Process not-compile-time
No Yes No Process not-compile-time
Yes No Evaluate
No No Yes compile-time-too Evaluate
No No Yes not-compile-time Discard
No No No Discard

CLHS » Figures » 3.8 Defining Macros That Affect the Compile-Time Environment

CLHS » Figures » 3.9 Common Lisp Declaration Identifiers

CLHS » Figures » 3.10 What Kind of Lambda Lists to Use

Context Kind of Lambda List
defun form ordinary lambda list
defmacro form macro lambda list
lambda expression ordinary lambda list
flet local function definition ordinary lambda list
labels local function definition ordinary lambda list
handler-case clause specification ordinary lambda list
restart-case clause specification ordinary lambda list
macrolet local macro definition macro lambda list
define-method-combination ordinary lambda list
define-method-combination :arguments option define-method-combination arguments lambda list
defstruct :constructor option boa lambda list
defgeneric form generic function lambda list
defgeneric method clause specialized lambda list
defmethod form specialized lambda list
defsetf form defsetf lambda list
define-setf-expander form macro lambda list
deftype form deftype lambda list
destructuring-bind form destructuring lambda list
define-compiler-macro form macro lambda list
define-modify-macro form define-modify-macro lambda list

CLHS » Figures » 3.11 Defined names applicable to lambda lists

CLHS » Figures » 3.12 Standardized Operators that use Ordinary Lambda Lists

CLHS » Figures » 3.13 Lambda List Keywords used by Ordinary Lambda Lists

CLHS » Figures » 3.14 Lambda List Keywords used by Generic Function Lambda Lists

CLHS » Figures » 3.15 Standardized Operators that use Specialized Lambda Lists

CLHS » Figures » 3.16 Lambda List Keywords used by Specialized Lambda Lists

CLHS » Figures » 3.17 Operators that use Macro Lambda Lists

CLHS » Figures » 3.18 Lambda List Keywords used by Macro Lambda Lists

CLHS » Figures » 3.19 Lambda List Keywords used by Defsetf Lambda Lists

CLHS » Figures » 3.20 Lambda List Keywords used by Define-modify-macro [...]

CLHS » Figures » 3.21 Lambda List Keywords used by Define-method-combination [...]

CLHS » Figures » 4.1 Cross-References to Data Type Information

Section Data Type
Section 4.3 (Classes) Object System types
Section 7.5 (Slots) Object System types
Section 7 (Objects) Object System types
Section 7.6 (Generic Functions and Methods) Object System types
Section 9.1 (Condition System Concepts) Condition System types
Section 4 (Types and Classes) Miscellaneous types
Section 2 (Syntax) All types---read and print syntax
Section 22.1 (The Lisp Printer) All types---print syntax
Section 3.2 (Compilation) All types---compilation issues

CLHS » Figures » 4.2 Standardized Atomic Type Specifiers

CLHS » Figures » 4.3 Standardized Compound Type Specifier Names

CLHS » Figures » 4.4 Standardized Compound-Only Type Specifier Names

CLHS » Figures » 4.5 Defined names relating to types and declarations.

CLHS » Figures » 4.6 Standardized Type Specifier Names

CLHS » Figures » 4.7 Object System Classes

CLHS » Figures » 4.8 Classes that correspond to pre-defined type specifiers

CLHS » Figures » 5.1 Examples of setf

Access function Update Function Update using setf
x (setq x datum) (setf x datum)
(car x) (rplaca x datum) (setf (car x) datum)
(symbol-value x) (set x datum) (setf (symbol-value x) datum)

CLHS » Figures » 5.2 Operators relating to places and generalized reference

CLHS » Figures » 5.3 Sample Setf Expansion of a Variable

For a variable x:

() list of temporary variables
() list of value forms
(g0001) list of store variables
(setq x g0001) storing form
x accessing form

CLHS » Figures » 5.4 Sample Setf Expansion of a CAR Form

For (car exp):

(g0002) list of temporary variables
(exp) list of value forms
(g0003) list of store variables
(progn (rplaca g0002 g0003) g0003) storing form
(car g0002) accessing form

CLHS » Figures » 5.5 Sample Setf Expansion of a SUBSEQ Form

For (subseq seq s e):

(g0004 g0005 g0006) list of temporary variables
(seq s e) list of value forms
(g0007) list of store variables
(progn
  (replace g0004 g0007
           :start1 g0005 :end1 g0006)
  g0007)
storing form
(subseq g0004 g0005 g0006) accessing form

CLHS » Figures » 5.6 Sample Setf Expansion of a LDB Form

[...] For (ldb bs (car exp)):

(g0001 g0002) list of temporary variables
(bs exp) list of value forms
(g0003) list of store variables
(progn
  (rplaca g0002
          (dpb g0003 g0001 (car g0002)))
  g0003)
storing form
(ldb g0001 (car g0002)) accessing form

CLHS » Figures » 5.7 Functions that setf can be used with---1

CLHS » Figures » 5.8 Functions that setf can be used with---2

Function name Argument that is a place Update function used
ldb second dpb
mask-field second deposit-field
getf first implementation-dependent

CLHS » Figures » 5.9 Read-Modify-Write Macros

CLHS » Figures » 7.1 Standardized Method-Defining Operators

CLHS » Figures » 7.2 Built-in Method Combination Types

CLHS » Figures » 9.1 Standardized Condition Types

CLHS » Figures » 9.2 Operators that define and create conditions

CLHS » Figures » 9.3 Operators that read condition slots

CLHS » Figures » 9.4 Operators relating to handling conditions

CLHS » Figures » 9.5 Defined names relating to signaling conditions

CLHS » Figures » 9.6 Defined names relating to restarts

CLHS » Figures » 9.7 Operators relating to assertions

CLHS » Figures » 10.1 Property list defined names

CLHS » Figures » 10.2 Symbol creation and inquiry defined names

CLHS » Figures » 11.2 Standardized Package Names

Name Nicknames
COMMON-LISP CL
COMMON-LISP-USER CL-USER
KEYWORD none

CLHS » Figures » 12.1 Operators relating to Arithmetic

CLHS » Figures » 12.2 Defined names relating to Exponentials, Logarithms [...]

CLHS » Figures » 12.3 Operators for numeric comparison and predication

CLHS » Figures » 12.4 Defined names relating to numeric type manipulation and coercion

CLHS » Figures » 12.5 Defined names relating to logical operations on numbers

CLHS » Figures » 12.6 Defined names relating to byte manipulation

CLHS » Figures » 12.7 Defined names relating to impl-dependent details about numbers

CLHS » Figures » 12.8 Functions Affected by Rule of Float Substitutability

Function Sample Results
abs (abs #c(3 4)) 5 or 5.0
acos (acos 1) 0 or 0.0
acosh (acosh 1) 0 or 0.0
asin (asin 0) 0 or 0.0
asinh (asinh 0) 0 or 0.0
atan (atan 0) 0 or 0.0
atanh (atanh 0) 0 or 0.0
cis (cis 0) 1 or #c(1.0 0.0)
cos (cos 0) 1 or 1.0
cosh (cosh 0) 1 or 1.0
exp (exp 0) 1 or 1.0
expt (expt 8 1/3) 2 or 2.0
log (log 1) 0 or 0.0
(log 8 2) 3 or 3.0
phase (phase 7) 0 or 0.0
signum (signum #c(3 4)) #c(3/5 4/5) or #c(0.6 0.8)
sin (sin 0) 0 or 0.0
sinh (sinh 0) 0 or 0.0
sqrt (sqrt 4) 2 or 2.0
(sqrt 9/16) 3/4 or 0.75
tan (tan 0) 0 or 0.0
tanh (tanh 0) 0 or 0.0

CLHS » Figures » 12.9 Trigonometric Identities for Complex Domain

sin i z = i sinh z sinh i z = i sin z arctan i z = i arctanh z
cos i z = cosh z cosh i z = cos z arcsinh i z = i arcsin z
tan i z = i tanh z arcsin i z = i arcsinh z arctanh i z = i arctan z

CLHS » Figures » 12.10 Quadrant Numbering for Branch Cuts

Quadrant

CLHS » Figures » 12.11 Random-state defined names

CLHS » Figures » 13.1 Character defined names -- 1

CLHS » Figures » 13.2 Character defined names -- 2

CLHS » Figures » 14.1 Some defined names relating to conses

CLHS » Figures » 14.2 Some defined names relating to trees

CLHS » Figures » 14.3 Some defined names relating to lists

CLHS » Figures » 14.4 Some defined names related to association lists

(assocation)

CLHS » Figures » 15.2 Operators that Manipulate Strings

CLHS » Figures » 15.3 Operators that Manipulate Bit Arrays

CLHS » Figures » 17.1 Standardized Sequence Functions

CLHS » Figures » 17.2 Operators that have Two-Argument Tests to be Satisfied

CLHS » Figures » 17.3 Operators that have One-Argument Tests to be Satisfied

CLHS » Figures » 18.1 Hash-table defined names

CLHS » Figures » 19.1 Pathname Operations

CLHS » Figures » 19.2 Pathname functions using a :CASE argument

CLHS » Figures » 19.3 Special Markers In Directory Component

Symbol Meaning
:wild Wildcard match of one level of directory structure
:wild-inferiors Wildcard match of any number of directory levels
:up Go upward in directory structure (semantic)
:back Go upward in directory structure (syntactic)

CLHS » Figures » 20.1 File and Directory Operations

CLHS » Figures » 20.2 File Functions that Treat Open and Closed Streams Differently

CLHS » Figures » 20.3 File Functions where Closed Streams Might Work Best

CLHS » Figures » 21.1 Some General-Purpose Stream Operations

CLHS » Figures » 21.2 Operators relating to Input Streams

CLHS » Figures » 21.3 Operators relating to Output Streams

CLHS » Figures » 21.4 Operators relating to Bidirectional Streams

CLHS » Figures » 21.6 Standardized Stream Variables

Glossary Term Variable Name
debug I/O *debug-io*
error output *error-output*
query I/O *query-io*
standard input *standard-input*
standard output *standard-output*
terminal I/O *terminal-io*
trace output *trace-output*

CLHS » Figures » 21.7 Operators that accept either Open or Closed Streams

(echo-stream-ouput-stream)

CLHS » Figures » 21.8 Operators that accept Open Streams only

CLHS » Figures » 22.1 Standardized Printer Control Variables

CLHS » Figures » 22.2 Additional Influences on the Lisp printer

CLHS » Figures » 22.3 Example of Logical Blocks, Conditional Newlines, and Sections

<-1---<--<--2---3->--4-->->
000000000000000000000000000
11 111111111111111111111111
          22 222
             333 3333
       44444444444444 44444

CLHS » Figures » 22.6 Examples of format control strings

"~S" This is an S directive with no parameters or modifiers.
"~3,-4:@s" This is an S directive with two parameters, 3 and -4,
and both the colon and at-sign flags.
"~,+4S" Here the first prefix parameter is omitted and takes
on its default value, while the second parameter is 4.

CLHS » Figures » 24.1 Features examples

(cons #+spice "Spice" #-spice "Lispm" x)
in implementation A ... (CONS "Spice" X)
in implementation B ... (CONS "Lispm" X)
in implementation C ... (CONS "Lispm" X)
(cons #+spice "Spice" #+LispM "Lispm" x)
in implementation A ... (CONS "Spice" X)
in implementation B ... (CONS "Lispm" X)
in implementation C ... (CONS X)
(setq a '(1 2 #+perq 43 #+(not perq) 27))
in implementation A ... (SETQ A '(1 2 43))
in implementation B ... (SETQ A '(1 2 27))
in implementation C ... (SETQ A '(1 2 27))
(let ((a 3) #+(or spice lispm) (b 3)) (foo a))
in implementation A ... (LET ((A 3) (B 3)) (FOO A))
in implementation B ... (LET ((A 3) (B 3)) (FOO A))
in implementation C ... (LET ((A 3)) (FOO A))
(cons #+Lispm "#+Spice" #+Spice "foo" #-(or Lispm Spice) 7 x)
in implementation A ... (CONS "foo" X)
in implementation B ... (CONS "#+Spice" X)
in implementation C ... (CONS 7 X)

CLHS » Figures » 25.1 Variables maintained by the Read-Eval-Print Loop

CLHS » Figures » 25.2 Defined names relating to debugging

CLHS » Figures » 25.3 Defined names relating to environment inquiry

CLHS » Figures » 25.4 Defined names involving Time

CLHS » Figures » 25.5 Defined names involving time in Decoded Time

CLHS » Figures » 25.6 Defined names involving time in Universal Time

CLHS » Figures » 25.7 Defined names involving time in Internal Time

CLHS » Figures » 25.8 Defined names involving time in Seconds