⚓ 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

(Typo in CLHS: "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

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

(Typo in CLHS: "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