Содержание

1 Вступление
 1.1 Цель
 1.2 Условные обозначения
  1.2.1 Десятичные числа
  1.2.2 Nil, False и пустой список
  1.2.3 Вычисление, Раскрытие и Равенство
  1.2.4 Ошибки
  1.2.5 Описания функций и других объектов
  1.2.6 Лисповый считыватель
  1.2.7 Обзор синтаксиса
2 Типы данных
 2.1 Числа
  2.1.1 Целые числа
  2.1.2 Дробные числа
  2.1.3 Числа с плавающей точкой
  2.1.4 Комплексные числа
 2.2 Буквы
  2.2.1 Стандартные буквы
  2.2.2 Разделители строк
  2.2.3 Нестандартные символы
 2.3 Символы
 2.4 Списки и Cons-ячейки
 2.5 Массивы
  2.5.1 Векторы
  2.5.2 Строки
  2.5.3 Битовые векторы
 2.6 Хеш-таблицы
 2.7 Таблицы символов Lisp парсера (Readtables)
 2.8 Пакеты
 2.9 Имена файлов
 2.10 Потоки
 2.11 Состояние для генератора псевдослучайных чисел (Random-States)
 2.12 Структуры
 2.13 Функции
 2.14 Нечитаемые объекты данных
 2.15 Пересечение, включение и дизъюнктивность типов
3 Область и продолжительность видимости
4 Спецификаторы типов
 4.1 Символы как спецификаторы типов
 4.2 Списки как спецификаторы типов
 4.3 Предикаты как спецификаторы типов
 4.4 Комбинированные спецификаторы типов
 4.5 Уточняющие спецификаторы типов
 4.6 Аббревиатуры для спецификаторов типов
 4.7 Определение новых спецификаторов
 4.8 Приведение типов
 4.9 Определение типа объекта
 4.10 Подбираемый тип
5 Структура программы
 5.1 Формы
  5.1.1 Самовычисляемые формы
  5.1.2 Переменные
  5.1.3 Специальные операторы
  5.1.4 Макросы
  5.1.5 Вызовы функций
 5.2 Функции
  5.2.1 Именованные функции
  5.2.2 Лямбда-выражения
 5.3 Формы верхнего уровня
  5.3.1 Определение функций
  5.3.2 Определение глобальных переменных и констант
  5.3.3 Контроль времени выполнения
6 Предикаты
 6.1 Логические значения
 6.2 Предикаты типов данных
  6.2.1 Основные предикаты
  6.2.2 Специальные предикаты
 6.3 Предикаты равенства
 6.4 Логические операторы
7 Управляющие конструкции
 7.1 Константы и переменные
  7.1.1 Ссылки на переменные
  7.1.2 Присваивание
 7.2 Обобщённые переменные
 7.3 Вызов функции
 7.4 Последовательное выполнение
 7.5 Установка новых связываний переменных
 7.6 Операторы условных переходов
 7.7 Блоки и выходы
 7.8 Формы циклов
  7.8.1 Бесконечный цикл
  7.8.2 Основные формы циклов
  7.8.3 Простые формы циклов
  7.8.4 Отображение
  7.8.5 Использование «GOTO»
 7.9 Перечисление элементов структур данных и побочные эффекты
 7.10 Возврат и обработка нескольких значений
  7.10.1 Конструкции для обработки нескольких значений
  7.10.2 Правила управления возвратом нескольких значений
 7.11 Динамические нелокальные выходы
8 Макросы
 8.1 Определение макроса
 8.2 Раскрытие макроса
 8.3 Деструктуризация
 8.4 Compiler Macros
 8.5 Environments
9 Декларации
 9.1 Синтаксис декларации
 9.2 Спецификаторы деклараций
 9.3 Декларация типов для форм
10 Символы
 10.1 Список свойств
 10.2 Выводимое имя
 10.3 Создание символов
11 Пакеты
 11.1 Правила согласованности
 11.2 Имена пакетов
 11.3 Преобразование строк в символы
 11.4 Экспортирование и импортирование символов
 11.5 Конфликты имён
 11.6 Системные пакеты
 11.7 Функции и переменные для системы пакетов
12 Числа
 12.1 Точность, неявное приведение и явное приведение
 12.2 Предикаты для чисел
 12.3 Сравнение чисел
 12.4 Арифметические операции
 12.5 Иррациональные и трансцендентные функции
  12.5.1 Экспоненциальные и логарифмические функции
  12.5.2 Тригонометрические и связанные с ними функции
  12.5.3 Точки ветвления, главные значения и краевые условия на комплексной плоскости
 12.6 Приведение типов и доступ к компонентам чисел
 12.7 Логические операции над числами
 12.8 Функции для манипуляции с байтами
 12.9 Случайные числа
 12.10 Параметры реализации
13 Буквы
 13.1 Свойство букв
 13.2 Предикаты для букв
 13.3 Код символа
 13.4 Преобразование букв
14 Последовательности
 14.1 Простые функции для последовательностей
 14.2 Объединение, отображение и приведение последовательностей
 14.3 Модификация последовательностей
 14.4 Поиск элементов последовательностей
 14.5 Сортировка и слияние
15 Списки
 15.1 Cons-ячейки
 15.2 Списки
 15.3 Изменение структуры списка
 15.4 Замещение выражений
 15.5 Использование списков как множеств
 15.6 Ассоциативные списки
16 Хеш-таблицы
 16.1 Функции для хеш-таблиц
 16.2 Функция хеширования
17 Массивы
 17.1 Создание массива
 17.2 Доступ к массиву
 17.3 Информация о массиве
 17.4 Функции для битовых массивов
 17.5 Указатели заполнения
 17.6 Изменение измерений массива
18 Строки
 18.1 Доступ к буквам
 18.2 Сравнение строк
 18.3 Создание и манипулирование строками
19 Структуры
 19.1 Введение в структуры
 19.2 Как использовать defstruct
 19.3 Использование автоматически определяемого конструктора
 19.4 Параметры слотов для defstruct
 19.5 Параметры defstruct
 19.6 Функции-конструкторы с позиционными аргументами
 19.7 Структуры с явно заданным типом представления
  19.7.1 Безымянные структуры
  19.7.2 Именованные структуры
  19.7.3 Другие аспекты явно определённых типов для представления структур
20 Вычислитель
 20.1 Вычисление форм
 20.2 Цикл взаимодействия с пользователем
21 Потоки
 21.1 Стандартные потоки
 21.2 Создание новых потоков
 21.3 Операции над потоками
22 Input/Output
 22.1 Printed Representation of Lisp Objects
  22.1.1 What the Read Function Accepts
  22.1.2 Parsing of Numbers and Symbols
  22.1.3 Macro Characters
  22.1.4 Standard Dispatching Macro Character Syntax
  22.1.5 The Readtable
  22.1.6 What the Print Function Produces
 22.2 Input Functions
  22.2.1 Input from Character Streams
  22.2.2 Input from Binary Streams
 22.3 Output Functions
  22.3.1 Output to Character Streams
  22.3.2 Output to Binary Streams
  22.3.3 Formatted Output to Character Streams
 22.4 Querying the User
23 File System Interface
 23.1 File Names
  23.1.1 Pathnames
  23.1.2 Case Conventions
  23.1.3 Structured Directories
  23.1.4 Extended Wildcards
  23.1.5 Logical Pathnames
  23.1.6 Pathname Functions
 23.2 Opening and Closing Files
 23.3 Renaming, Deleting, and Other File Operations
 23.4 Loading Files
 23.5 Accessing Directories
24 Miscellaneous Features
 24.1 The Compiler
  24.1.1 Compiler Diagnostics
  24.1.2 Compiled Functions
  24.1.3 Compilation Environment
  24.1.4 Similarity of Constants
 24.2 Debugging Tools
 24.3 Environment Inquiries
  24.3.1 Time Functions
  24.3.2 Other Environment Inquiries
  24.3.3 Справочные функции о среде
 24.4 Identity Function
25 Loop
26 Цикл loop
 26.1 Introduction
 26.2 Введение
 26.3 How the Loop Facility Works
 26.4 Как работает Loop
 26.5 Parsing Loop Clauses
 26.6 Парсинг выражений Loop
  26.6.1 Order of Execution
  26.6.2 Порядок вычисления
  26.6.3 Kinds of Loop Clauses
  26.6.4 Разновидности Loop выражений
  26.6.5 Loop Syntax
  26.6.6 Синтаксис Loop
 26.7 User Extensibility
 26.8 Пользовательские расширения
 26.9 Loop Constructs
 26.10 Конструкции Loop
 26.11 Iteration Control
 26.12 Управление итерациями
 26.13 End-Test Control
 26.14 Проверка завершения
 26.15 Value Accumulation
 26.16 Variable Initializations
 26.17 Инициализация переменных
 26.18 Conditional Execution
 26.19 Условное выполнение
 26.20 Unconditional Execution
 26.21 Безусловное выполнение
 26.22 Miscellaneous Features
 26.23 Дополнительные возможности
  26.23.1 Data Types
  26.23.2 Типы данных
  26.23.3 Destructuring
27 Pretty Printing
 27.1 Introduction
 27.2 Pretty Printing Control Variables
 27.3 Dynamic Control of the Arrangement of Output
 27.4 Format Directive Interface
 27.5 Compiling Format Control Strings
 27.6 Pretty Printing Dispatch Tables
28 Объектная система Common Lisp’а
 28.1 Концепция программного интерфейса
  28.1.1 Терминология для ошибок
  28.1.2 Классы
  28.1.3 Наследование
  28.1.4 Интеграция типов и классов
  28.1.5 Определение списка приоритетности классов
  28.1.6 Обобщённые функции и методы
  28.1.7 Выбор и сочетание методов
  28.1.8 Метаобъекты
  28.1.9 Создание и инициализация объекта
  28.1.10 Переопределение классов
  28.1.11 Изменение класса для некоторого экземпляра
  28.1.12 Переинициализация экземпляра
 28.2 Функции для работы с CLOS
29 Условия
 29.1 Введение
 29.2 Изменения в терминологии
 29.3 Обзор концепций
  29.3.1 Сигнализирование ошибок
  29.3.2 Перехват ошибок
  29.3.3 Обработка условий
  29.3.4 Объектно-ориентированные концепции обработки условий
  29.3.5 Перезапуски (рестарты)
  29.3.6 Анонимные перезапуски (рестарты)
  29.3.7 Именованные перезапуски (рестарты)
  29.3.8 Функции перезапусков (рестартов)
  29.3.9 Сравнение перезапусков и catch/throw
  29.3.10 Обобщённые перезапуски
  29.3.11 Интерактивная обработка условий
  29.3.12 Важные условия
  29.3.13 Неважные условия
  29.3.14 Типы условий
  29.3.15 Сигнализирование условий
  29.3.16 Пересигнализирование условий
  29.3.17 Обработчики условий
  29.3.18 Вывод условий
 29.4 Программный интерфейс системы условий
  29.4.1 Сигнализирование условий
  29.4.2 Проверка ошибок
  29.4.3 Проверка значение на соответствие
  29.4.4 Обработка условий
  29.4.5 Определение типов условий
  29.4.6 Создание условий
  29.4.7 Установка перезапусков
  29.4.8 Поиск и управление перезапусками
  29.4.9 Предупреждения
  29.4.10 Функции перезапусков
  29.4.11 Отладочные утилиты
 29.5 Определённые типы условий
30 Metaobject Protocol
 30.1 Concepts
  30.1.1 Introduction
  30.1.2 Введение
  30.1.3 Inheritance Structure of Metaobject Classes
  30.1.4 Processing of the User Interface Macros
  30.1.5 Subprotocols
 30.2 Generic Functions and Methods Dictionary
  30.2.1 Initialization of Class Metaobjects
  30.2.2 Initialization of Generic Function Metaobjects
  30.2.3 Initialization of Method Metaobjects
  30.2.4 Initialization of Slot Definition Metaobjects
  30.2.5 Readers for Class Metaobjects
  30.2.6 Readers for Generic Function Metaobjects
  30.2.7 Readers for Method Metaobjects
  30.2.8 Readers for Slot Definition Metaobjects