ANSI Common Lisp
Table of Contents
1
Introduction
1.1
Scope, Purpose, and History
1.1.1
Scope and Purpose
1.1.2
History
1.2
Organization of the Document
1.3
Referenced Publications
1.4
Definitions
1.4.1
Notational Conventions
1.4.2
Error Terminology
1.4.3
Sections Not Formally Part Of This Standard
1.4.4
Interpreting Dictionary Entries
1.5
Conformance
1.5.1
Conforming Implementations
1.5.2
Conforming Programs
1.6
Language Extensions
1.7
Language Subsets
1.8
Deprecated Language Features
1.8.1
Deprecated Functions
1.8.2
Deprecated Argument Conventions
1.8.3
Deprecated Variables
1.8.4
Deprecated Reader Syntax
1.9
Symbols in the COMMON-LISP Package
2
Syntax
2.1
Character Syntax
2.1.1
Readtables
2.1.2
Variables that affect the Lisp Reader
2.1.3
Standard Characters
2.1.4
Character Syntax Types
2.2
Reader Algorithm
2.3
Interpretation of Tokens
2.3.1
Numbers as Tokens
2.3.2
Constructing Numbers from Tokens
2.3.3
The Consing Dot
2.3.4
Symbols as Tokens
2.3.5
Valid Patterns for Tokens
2.3.6
Package System Consistency Rules
2.4
Standard Macro Characters
2.4.1
Left-Parenthesis
2.4.2
Right-Parenthesis
2.4.3
Single-Quote
2.4.4
Semicolon
2.4.5
Double-Quote
2.4.6
Backquote
2.4.7
Comma
2.4.8
Sharpsign
2.4.9
Re-Reading Abbreviated Expressions
3
Evaluation and Compilation
3.1
Evaluation
3.1.1
Introduction to Environments
3.1.2
The Evaluation Model
3.1.3
Lambda Expressions
3.1.4
Closures and Lexical Binding
3.1.5
Shadowing
3.1.6
Extent
3.1.7
Return Values
3.2
Compilation
3.2.1
Compiler Terminology
3.2.2
Compilation Semantics
3.2.3
File Compilation
3.2.4
Literal Objects in Compiled Files
3.2.5
Exceptional Situations in the Compiler
3.3
Declarations
3.3.1
Minimal Declaration Processing Requirements
3.3.2
Declaration Specifiers
3.3.3
Declaration Identifiers
3.3.4
Declaration Scope
3.4
Lambda Lists
3.4.1
Ordinary Lambda Lists
3.4.2
Generic Function Lambda Lists
3.4.3
Specialized Lambda Lists
3.4.4
Macro Lambda Lists
3.4.5
Destructuring Lambda Lists
3.4.6
Boa Lambda Lists
3.4.7
Defsetf Lambda Lists
3.4.8
Deftype Lambda Lists
3.4.9
Define-modify-macro Lambda Lists
3.4.10
Define-method-combination Arguments Lambda Lists
3.4.11
Syntactic Interaction of Documentation Strings and Declarations
3.5
Error Checking in Function Calls
3.5.1
Argument Mismatch Detection
3.6
Traversal Rules and Side Effects
3.7
Destructive Operations
3.7.1
Modification of Literal Objects
3.7.2
Transfer of Control during a Destructive Operation
3.8
Dictionary Evaluation and Compilation
4
Types and Classes
4.1
Introduction
4.2
Types
4.2.1
Data Type Definition
4.2.2
Type Relationships
4.2.3
Type Specifiers
4.3
Classes
4.3.1
Introduction to Classes
4.3.2
Defining Classes
4.3.3
Creating Instances of Classes
4.3.4
Inheritance
4.3.5
Determining the Class Precedence List
4.3.6
Redefining Classes
4.3.7
Integrating Types and Classes
4.4
Dictionary of Types and Classes
5
Data and Control Flow
5.1
Generalized Reference
5.1.1
Overview of Places and Generalized Reference
5.1.2
Kinds of Places
5.1.3
Treatment of Other Macros Based on SETF
5.2
Transfer of Control to an Exit Point
5.3
Dictionary of Data and Control Flow
6
Iteration
6.1
The LOOP Facility
6.1.1
Overview of the Loop Facility
6.1.2
Variable Initialization and Stepping Clauses
6.1.3
Value Accumulation Clauses
6.1.4
Termination Test Clauses
6.1.5
Unconditional Execution Clauses
6.1.6
Conditional Execution Clauses
6.1.7
Miscellaneous Clauses
6.1.8
Examples of Miscellaneous Loop Features
6.1.9
Notes about Loop
6.2
Dictionary of Iteration
7
Objects
7.1
Object Creation and Initialization
7.1.1
Initialization Arguments
7.1.2
Declaring the Validity of Initialization Arguments
7.1.3
Defaulting of Initialization Arguments
7.1.4
Rules for Initialization Arguments
7.1.5
Shared-Initialize
7.1.6
Initialize-Instance
7.1.7
Definitions of Make-Instance and Initialize-Instance
7.2
Changing the Class of an Instance
7.2.1
Modifying the Structure of the Instance
7.2.2
Initializing Newly Added Local Slots
7.2.3
Customizing the Change of Class of an Instance
7.3
Reinitializing an Instance
7.3.1
Customizing Reinitialization
7.4
Meta-Objects
7.4.1
Standard Meta-objects
7.5
Slots
7.5.1
Introduction to Slots
7.5.2
Accessing Slots
7.5.3
Inheritance of Slots and Slot Options
7.6
Generic Functions and Methods
7.6.1
Introduction to Generic Functions
7.6.2
Introduction to Methods
7.6.3
Agreement on Parameter Specializers and Qualifiers
7.6.4
Congruent Lambda-lists for all Methods of a Generic Function
7.6.5
Keyword Arguments in Generic Functions and Methods
7.6.6
Method Selection and Combination
7.6.7
Inheritance of Methods
7.7
Dictionary of Objects
8
Structures
8.1
Dictionary of Structures
9
Conditions
9.1
Condition System Concepts
9.1.1
Condition Types
9.1.2
Creating Conditions
9.1.3
Printing Conditions
9.1.4
Signaling and Handling Conditions
9.1.5
Assertions
9.1.6
Notes about the Condition System's Background
9.2
Dictionary of Conditions
10
Symbols
10.1
Symbol Concepts
10.2
Dictionary of Symbols
11
Packages
11.1
Package Concepts
11.1.1
Introduction to Packages
11.1.2
Standardized Packages
11.2
Dictionary of Packages
12
Numbers
12.1
Number Concepts
12.1.1
Numeric Operations
12.1.2
Implementation-Dependent Numeric Constants
12.1.3
Rational Computations
12.1.4
Floating-point Computations
12.1.5
Complex Computations
12.1.6
Interval Designators
12.1.7
Random-State Operations
12.2
Dictionary of Numbers
13
Characters
13.1
Character Concepts
13.1.1
Introduction to Characters
13.1.2
Introduction to Scripts and Repertoires
13.1.3
Character Attributes
13.1.4
Character Categories
13.1.5
Identity of Characters
13.1.6
Ordering of Characters
13.1.7
Character Names
13.1.8
Treatment of Newline during Input and Output
13.1.9
Character Encodings
13.1.10
Documentation of Implementation-Defined Scripts
13.2
Dictionary of Characters
14
Conses
14.1
Cons Concepts
14.1.1
Conses as Trees
14.1.2
Conses as Lists
14.2
Dictionary of Conses
15
Arrays
15.1
Array Concepts
15.1.1
Array Elements
15.1.2
Specialized Arrays
15.2
Dictionary of Arrays
16
Strings
16.1
String Concepts
16.1.1
Implications of Strings Being Arrays
16.1.2
Subtypes of STRING
16.2
Dictionary of Strings
17
Sequences
17.1
Sequence Concepts
17.1.1
General Restrictions on Parameters that must be Sequences
17.2
Rules about Test Functions
17.2.1
Satisfying a Two-Argument Test
17.2.2
Satisfying a One-Argument Test
17.3
Dictionary of Sequences
18
Hash Tables
18.1
Hash Table Concepts
18.1.1
Hash-Table Operations
18.1.2
Modifying Hash Table Keys
18.2
Dictionary of Hash Tables
19
Filenames
19.1
Overview of Filenames
19.1.1
Namestrings as Filenames
19.1.2
Pathnames as Filenames
19.1.3
Parsing Namestrings Into Pathnames
19.2
Pathnames
19.2.1
Pathname Components
19.2.2
Interpreting Pathname Component Values
19.2.3
Merging Pathnames
19.3
Logical Pathnames
19.3.1
Syntax of Logical Pathname Namestrings
19.3.2
Logical Pathname Components
19.4
Dictionary of Filenames
20
Files
20.1
File System Concepts
20.1.1
Coercion of Streams to Pathnames
20.1.2
File Operations on Open and Closed Streams
20.1.3
Truenames
20.2
Dictionary of Files
21
Streams
21.1
Stream Concepts
21.1.1
Introduction to Streams
21.1.2
Stream Variables
21.1.3
Stream Arguments to Standardized Functions
21.1.4
Restrictions on Composite Streams
21.2
Dictionary of Streams
22
Printer
22.1
The Lisp Printer
22.1.1
Overview of The Lisp Printer
22.1.2
Printer Dispatching
22.1.3
Default Print-Object Methods
22.1.4
Examples of Printer Behavior
22.2
The Lisp Pretty Printer
22.2.1
Pretty Printer Concepts
22.2.2
Examples of using the Pretty Printer
22.2.3
Notes about the Pretty Printer's Background
22.3
Formatted Output
22.3.1
FORMAT Basic Output
22.3.2
FORMAT Radix Control
22.3.3
FORMAT Floating-Point Printers
22.3.4
FORMAT Printer Operations
22.3.5
FORMAT Pretty Printer Operations
22.3.6
FORMAT Layout Control
22.3.7
FORMAT Control-Flow Operations
22.3.8
FORMAT Miscellaneous Operations
22.3.9
FORMAT Miscellaneous Pseudo-Operations
22.3.10
Additional Information about FORMAT Operations
22.3.11
Examples of FORMAT
22.3.12
Notes about FORMAT
22.4
Dictionary of Printer
23
Reader
23.1
Reader Concepts
23.1.1
Dynamic Control of the Lisp Reader
23.1.2
Effect of Readtable Case on the Lisp Reader
23.1.3
Argument Conventions of Some Reader Functions
23.2
Dictionary of Reader
24
System Construction
24.1
System Construction Concepts
24.1.1
Loading
24.1.2
Features
24.2
Dictionary of System Construction
25
Environment
25.1
The External Environment
25.1.1
Top level loop
25.1.2
Debugging Utilities
25.1.3
Environment Inquiry
25.1.4
Time
25.2
Dictionary of Environment
26
Glossary
26.1
Glossary
27
Appendix
27.1
Removed Language Features
27.1.1
Requirements for removed and deprecated features
27.1.2
Removed Types
27.1.3
Removed Operators
27.1.4
Removed Argument Conventions
27.1.5
Removed Variables
27.1.6
Removed Reader Syntax
27.1.7
Packages No Longer Required
© Franz Inc. '98
- File last updated 23.07.98