search for books and compare prices
Tables of Contents for Common Lisp
Chapter/Section Title
Page #
Page Count
Preface (Second Edition)
xi
4
Acknowledgments (Second Edition)
xv
5
Acknowledgments (First Edition)
xx
 
1. Introduction
1
11
1.1. Purpose
1
3
1.2. Notational Conventions
4
8
1.2.1. Decimal Numbers
4
1
1.2.2. Nil, False, and the Empty List
4
1
1.2.3. Evaluation, Expansion, and Equivalence
5
1
1.2.4. Errors
5
1
1.2.5. Descriptions of Functions and Other Entities
6
3
1.2.6. The Lisp Reader
9
1
1.2.7. Overview of Syntax
10
2
2. Data Types
12
30
2.1. Numbers
15
8
2.1.1. Integers
16
2
2.1.2. Ratios
18
1
2.1.3. Floating-Point Numbers
18
4
2.1.4. Complex Numbers
22
1
2.2. Characters
23
4
2.2.1. Standard Characters
23
1
2.2.2. Line Divisions
24
1
2.2.3. Non-standard Characters
25
1
2.2.4. Character Attributes
26
1
2.2.5. String Characters
26
1
2.3. Symbols
27
2
2.4. Lists and Conses
29
2
2.5. Arrays
31
4
2.5.1. Vectors
32
1
2.5.2. Strings
33
1
2.5.3. Bit-Vectors
34
1
2.6. Hash Tables
35
1
2.7. Readtables
35
1
2.8. Packages
35
1
2.9. Pathnames
35
1
2.10. Streams
35
1
2.11. Random-States
36
1
2.12. Structures
36
1
2.13. Functions
36
1
2.14. Unreadable Data Objects
37
1
2.15. Overlap, Inclusion, and Disjointness of Types
37
5
3. Scope and Extent
42
7
4. Type Specifiers
49
20
4.1. Type Specifier Symbols
49
1
4.2. Type Specifier Lists
49
2
4.3. Predicating Type Specifiers
51
1
4.4. Type Specifiers That Combine
51
1
4.5. Type Specifiers That Specialize
52
8
4.6. Type Specifiers That Abbreviate
60
2
4.7. Defining New Type Specifiers
62
1
4.8. Type Conversion Function
63
2
4.9. Determining the Type of an Object
65
2
4.10. Type Upgrading
67
2
5. Program Structure
69
26
5.1. Forms
69
6
5.1.1. Self-Evaluating Forms
70
1
5.1.2. Variables
70
2
5.1.3. Special Forms
72
1
5.1.4. Macros
73
1
5.1.5. Function Calls
74
1
5.2. Functions
75
8
5.2.1. Named Functions
75
1
5.2.2. Lambda-Expressions
75
8
5.3. Top-Level Forms
83
12
5.3.1. Defining Named Functions
84
2
5.3.2. Declaring Global Variables and Named Constants
86
2
5.3.3. Control of Time of Evaluation
88
7
6. Predicates
95
18
6.1. Logical Values
96
1
6.2. Data Type Predicates
96
7
6.2.1. General Type Predicates
96
3
6.2.2. Specific Data Type Predicates
99
4
6.3. Equality Predicates
103
7
6.4. Logical Operators
110
3
7. Control Structure
113
80
7.1. Constants and Variables
114
9
7.1.1. Reference
114
7
7.1.2. Assignment
121
2
7.2. Generalized Variables
123
22
7.3. Function Invocation
145
2
7.4. Simple Sequencing
147
1
7.5. Establishing New Variable Bindings
148
8
7.6. Conditionals
156
5
7.7. Blocks and Exits
161
2
7.8. Iteration
163
15
7.8.1. Indefinite Iteration
163
1
7.8.2. General Iteration
164
4
7.8.3. Simple Iteration Constructs
168
3
7.8.4. Mapping
171
2
7.8.5. The "Program Feature"
173
5
7.9. Structure Traversal and Side Effects
178
1
7.10. Multiple Values
179
8
7.10.1. Constructs for Handling Multiple Values
180
4
7.10.2. Rules Governing the Passing of Multiple Values
184
1
7.11. Dynamic Non-Local Exits
187
6
8. Macros
193
22
8.1. Macro Definition
194
9
8.2. Macro Expansion
203
1
8.3. Destructuring
204
1
8.4. Compiler Macros
205
2
8.5. Environments
207
8
9. Declarations
215
23
9.1. Declaration Syntax
215
8
9.2. Declaration Specifiers
223
13
9.3. Type Declaration for Forms
236
2
10. Symbols
238
9
10.1. The Property List
238
5
10.2. The Print Name
243
1
10.3. Creating Symbols
243
4
11. Packages
247
41
11.1. Consistency Rules
249
1
11.2. Package Names
249
2
11.3. Translating Strings to Symbols
251
2
11.4. Exporting and Importing Symbols
253
2
11.5. Name Conflicts
255
3
11.6. Built-in Packages
258
3
11.7. Package System Functions and Variables
261
16
11.8. Modules
277
1
11.9. An Example
278
10
12. Numbers
288
83
12.1. Precision, Contagion, and Coercion
288
3
12.2. Predicates on Numbers
291
1
12.3. Comparisons on Numbers
292
3
12.4. Arithmetic Operations
295
4
12.5. Irrational and Transcendental Functions
299
51
12.5.1. Exponential and Logarithmic Functions
300
3
12.5.2. Trigonometric and Related Functions
303
6
12.5.3. Branch Cuts, Principal Values, and Boundary Conditions in the Complex Plane
309
41
12.6. Type Conversions and Component Extractions on Numbers
350
7
12.7. Logical Operations on Numbers
357
5
12.8. Byte Manipulation Functions
362
3
12.9. Random Numbers
365
3
12.10. Implementation Parameters
368
3
13. Characters
371
17
13.1. Character Attributes
374
2
13.2. Predicates on Characters
376
5
13.3. Character Construction and Selection
381
2
13.4. Character Conversions
383
2
13.5. Character Control-Bit Functions
385
3
14. Sequences
388
23
14.1. Simple Sequence Functions
392
2
14.2. Concatenating, Mapping, and Reducing Sequences
394
4
14.3. Modifying Sequences
398
6
14.4. Searching Sequences for Items
404
3
14.5. Sorting and Merging
407
4
15. Lists
411
24
15.1. Conses
411
2
15.2. Lists
413
10
15.3. Alteration of List Structure
423
1
15.4. Substitution of Expressions
424
2
15.5. Using Lists as Sets
426
5
15.6. Association Lists
431
4
16. Hash Tables
435
7
16.1. Hash Table Functions
436
5
16.2. Primitive Hash Function
441
1
17. Arrays
442
18
17.1. Array Creation
442
5
17.2. Array Access
447
1
17.3. Array Information
448
4
17.4. Functions on Arrays of Bits
452
2
17.5. Fill Pointers
454
2
17.6. Changing the Dimensions of an Array
456
4
18. Strings
460
8
18.1. String Access
461
1
18.2. String Comparison
461
2
18.3. String Construction and Manipulation
463
5
19. Structures
468
22
19.1. Introduction to Structures
468
2
19.2. How to Use Defstruct
470
3
19.3. Using the Automatically Defined Constructor Function
473
2
19.4. Defstruct Slot-Options
475
1
19.5. Defstruct Options
476
6
19.6. By-Position Constructor Functions
482
3
19.7. Structures of Explicitly Specified Representational Type
485
5
19.7.1. Unnamed Structures
485
1
19.7.2. Named Structures
486
1
19.7.3. Other Aspects of Explicitly Specified Structures
487
3
20. The Evaluator
490
7
20.1. Run-Time Evaluation of Forms
490
4
20.2. The Top-Level Loop
494
3
21. Streams
497
12
21.1. Standard Streams
497
3
21.2. Creating New Streams
500
4
21.3. Operations on Streams
504
5
22. Input/Output
509
102
22.1. Printed Representation of Lisp Objects
509
58
22.1.1. What the Read Function Accepts
510
6
22.1.2. Parsing of Numbers and Symbols
516
8
22.1.3. Macro Characters
524
6
22.1.4. Standard Dispatching Macro Character Syntax
530
10
22.1.5. The Readtable
540
10
22.1.6. What the Print Function Produces
550
17
22.2. Input Functions
567
9
22.2.1. Input from Character Streams
567
9
22.2.2. Input from Binary Streams
576
1
22.3. Output Functions
576
33
22.3.1. Output to Character Streams
576
5
22.3.2. Output to Binary Streams
581
1
22.3.3. Formatted Output to Character Streams
581
28
22.4. Querying the User
609
2
23. File System Interface
611
53
23.1. File Names
611
35
23.1.1. Pathnames
612
5
23.1.2. Case Conventions
617
3
23.1.3. Structured Directories
620
3
23.1.4. Extended Wildcards
623
5
23.1.5. Logical Pathnames
628
1
23.1.5.1. Syntax of Logical Pathname Namestrings
628
1
23.1.5.2. Parsing of Logical Pathname Namestrings
629
1
23.1.5.3. Using Logical Pathnames
630
3
23.1.5.4. Examples of the Use of Logical Pathnames
633
2
23.1.5.5. Discussion of Logical Pathnames
635
2
23.1.6. Pathname Functions
637
9
23.2. Opening and Closing Files
646
6
23.3. Renaming, Deleting, and Other File Operations
652
5
23.4. Loading Files
657
6
23.5. Accessing Directories
663
1
24. Errors
664
12
24.1. General Error-Signaling Functions
665
5
24.2. Specialized Error-Signaling Forms and Macros
670
3
24.3. Special Forms for Exhaustive Case Analysis
673
3
25. Miscellaneous Features
676
33
25.1. The Compiler
676
18
25.1.1. Compiler Diagnostics
683
2
25.1.2. Compiled Functions
685
1
25.1.3. Compilation Environment
685
6
25.1.4. Similarity of Constants
691
3
25.2. Documentation
694
1
25.3. Debugging Tools
695
6
25.4. Environment Inquiries
701
6
25.4.1. Time Functions
702
3
25.4.2. Other Environment Inquiries
705
2
25.5. Identity Function
707
2
26. Loop
709
39
26.1. Introduction
709
1
26.2. How the Loop Facility Works
709
1
26.3. Parsing Loop Clauses
710
5
26.3.1. Order of Execution
711
1
26.3.2. Kinds of Loop Clauses
712
2
26.3.3. Loop Syntax
714
1
26.4. User Extensibility
715
1
26.5. Loop Constructs
715
1
26.6. Iteration Control
716
10
26.7. End-Test Control
726
4
26.8. Value Accumulation
730
5
26.9. Variable Initializations
735
3
26.10. Conditional Execution
738
2
26.11. Unconditional Execution
740
2
26.12. Miscellaneous Features
742
6
26.12.1. Data Types
742
1
26.12.2. Destructuring
743
5
27. Pretty Printing
748
22
27.1. Introduction
748
1
27.2. Pretty Printing Control Variables
749
1
27.3. Dynamic Control of the Arrangement of Output
750
11
27.4. Format Directive Interface
761
3
27.5. Compiling Format Control Strings
764
1
27.6. Pretty Printing Dispatch Tables
765
5
28. Common Lisp Object System
770
95
28.1. Programmer Interface Concepts
770
45
28.1.1. Error Terminology
771
2
28.1.2. Classes
773
2
28.1.2.1. Defining Classes
775
1
28.1.2.2. Creating Instances of Classes
776
1
28.1.2.3. Slots
776
1
28.1.2.4. Accessing Slots
777
1
28.1.3. Inheritance
778
1
28.1.3.1. Inheritance of Methods
778
1
28.1.3.2. Inheritance of Slots and Slot Options
778
2
28.1.3.3. Inheritance of Class Options
780
1
28.1.3.4. Examples
780
1
28.1.4. Integrating Types and Classes
780
2
28.1.5. Determining the Class Precedence List
782
2
28.1.5.1. Topological Sorting
784
1
28.1.5.2. Examples
784
2
28.1.6. Generic Functions and Methods
786
1
28.1.6.1. Introduction to Generic Functions
787
1
28.1.6.2. Introduction to Methods
788
3
28.1.6.3. Agreement on Parameter Specializers and Qualifiers
791
1
28.1.6.4. Congruent Lambda-Lists for All Methods of a Generic Function
791
1
28.1.6.5. Keyword Arguments in Generic Functions and Methods
792
1
28.1.7. Method Selection and Combination
793
1
28.1.7.1. Determining the Effective Method
793
3
28.1.7.2. Standard Method Combination
796
1
28.1.7.3. Declarative Method Combination
797
1
28.1.7.4. Built-in Method Combination Types
798
1
28.1.8. Meta-objects
799
1
28.1.8.1. Metaclasses
800
1
28.1.8.2. Standard Metaclasses
800
1
28.1.8.3. Standard Meta-objects
800
1
28.1.9. Object Creation and Initialization
801
1
28.1.9.1. Initialization Arguments
802
1
28.1.9.2. Declaring the Validity of Initialization Arguments
803
1
28.1.9.3. Defaulting of Initialization Arguments
804
1
28.1.9.4. Rules for Initialization Arguments
805
1
28.1.9.5. Shared-Initialize
806
1
28.1.9.6. Initialize-Instance
807
1
28.1.9.7. Definitions of Make-Instance and Initialize-Instance
808
2
28.1.10. Redefining Classes
810
1
28.1.10.1. Modifying the Structure of Instances
811
1
28.1.10.2. Initializing Newly Added Local Slots
811
1
28.1.10.3. Customizing Class Redefinition
812
1
28.1.10.4. Extensions
812
1
28.1.11. Changing the Class of an Instance
812
1
28.1.11.1. Modifying the Structure of an Instance
813
1
28.1.11.2. Initializing Newly Added Local Slots
813
1
28.1.11.3. Customizing the Change of Class of an Instance
814
1
28.1.12. Reinitializing an Instance
814
1
28.1.12.1. Customizing Reinitialization
815
1
28.2. Functions in the Programmer Interface
815
50
29. Conditions
865
58
29.1. Introduction
865
2
29.2. Changes in Terminology
867
1
29.3. Survey of Concepts
868
18
29.3.1. Signaling Errors
868
2
29.3.2. Trapping Errors
870
2
29.3.3. Handling Conditions
872
1
29.3.4. Object-Oriented Basis of Condition Handling
873
1
29.3.5. Restarts
874
1
29.3.6. Anonymous Restarts
875
2
29.3.7. Named Restarts
877
1
29.3.8. Restart Functions
878
1
29.3.9. Comparison of Restarts and Catch/Throw
878
2
29.3.10. Generalized Restarts
880
1
29.3.11. Interactive Condition Handling
881
1
29.3.12. Serious Conditions
881
1
29.3.13. Non-Serious Conditions
882
1
29.3.14. Condition Types
882
1
29.3.15. Signaling Conditions
883
1
29.3.16. Resignaling Conditions
883
1
29.3.17. Condition Handlers
884
1
29.3.18. Printing Conditions
884
2
29.4. Program Interface to the Condition System
886
30
29.4.1. Signaling Conditions
886
3
29.4.2. Assertions
889
3
29.4.3. Exhaustive Case Analysis
892
3
29.4.4. Handling Conditions
895
3
29.4.5. Defining Conditions
898
3
29.4.6. Creating Conditions
901
1
29.4.7. Establishing Restarts
901
9
29.4.8. Finding and Manipulating Restarts
910
2
29.4.9. Warnings
912
1
29.4.10. Restart Functions
913
1
29.4.11. Debugging Utilities
914
2
29.5. Predefined Condition Types
916
7
Appendix A. Series
923
33
A.1. Introduction
923
2
A.2. Series Functions
925
18
A.2.1. Scanners
925
5
A.2.2. Mapping
930
2
A.2.3. Truncation and Other Simple Transducers
932
3
A.2.4. Conditional and Other Complex Transducers
935
3
A.2.5. Collectors
938
4
A.2.6. Alteration of Series
942
1
A.3. Optimization
943
7
A.3.1. Basic Restrictions
943
2
A.3.2. Constraint Cycles
945
3
A.3.3. Defining New Series Functions
948
1
A.3.4. Declarations
949
1
A.4. Primitives
950
6
Appendix B. Generators and Gatherers
956
4
B.1. Introduction
956
1
B.2. Generators
957
1
B.3. Gatherers
957
2
B.4. Discussion
959
1
Appendix C. Backquote
960
12
References
972
4
Index of X3J13 Votes
976
5
Other Indexes
981