Следующие спецификаторы типов по большей части являются аббревиатурами
для других типов, которые долго печатать, например, в функции member.
-
(integer low high)
Задаёт целые числа между значениями low и
high. Low и high должны быть каждое или целое, или список
с одним целым, или не заданы. Целое задаёт включаемое
граничное значение, список из целого задаёт невключаемое
граничное значение и * означает отсутствие граничного значения,
и тем самым задаёт границы минус или плюс бесконечность
соответственно. Тип fixnum является именем для (integer low
high), в котором high и low значения зависят от реализации (см.
most-negative-fixnum и most-positive-fixnum). Тип (integer 0
1) оказался так полезен, что имеет отдельное имя bit.
-
(mod n)
Задаёт множество неотрицательных целых меньших чем n.
Является эквивалентом для (integer 0 n−1) или (integer 0 (n)).
-
(signed-byte s)
Задаёт
множество целых, которые могут быть представлены в виде байта
с s количеством бит. Является эквивалентом для (integer − 2s−1
2s−1 − 1). signed-byte или (signed-byte *) являются тем же, что
и integer.
-
(unsigned-byte s)
Задаёт множество неотрицательных целых, которые
могут быть представлены в виде байта с s количеством бит.
Является эквивалентом для (mod 2s), и для (integer 0 2s − 1).
unsigned-byte или (unsigned-byte *) являются тем же, что и
(integer 0 *), а именно, множеством неотрицательных целых.
-
(rational low high)
Задаёт рациональные
числа между значениями low и high. Наименьшее и наибольшее
могут быть рациональными, списком из одного рационального,
или не заданы. Рациональное число задаёт включаемое граничное
значение, список из рационального задаёт невключаемое граничное
значение и * означает, что предела для множества нет, и значением
может быть минус или плюс бесконечность соответственно.
-
(float low high)
Задаёт числа с плавающей точкой между low и high.
Наименьшее и наибольшее могут быть числами с плавающей
точкой, списком из одного такого числа, или не заданы.
Рациональное число задаёт включаемое граничное значение,
список из рационального задаёт невключаемое граничное значение
и * означает, что предела для множества нет, и значением может
быть минус или плюс бесконечность соответственно.
Таким же образом определяются следующие типы:
(short-float
low high)
(single-float
low high)
(double-float
low high)
(long-float
low high)
В этих случаях границы должны быть в том же формате, что и сам
тип.
-
(real low high)
Задаёт действительные числа между значениями low и high.
Пределы low и high должны каждый быть действительными
числами, или списками одного действительного числа, или не
заданы. Действительное число задаёт включаемое граничное
значение, список из действительного числа задаёт невключаемое
граничное значение и * означает, что предела для множества
нет, и значением может быть минус или плюс бесконечность,
соответственно.
-
(base-string size)
Обозначает то же, что и (vector base-char size):
множество базовых строк определённого размера.
-
(simple-base-string size)
Обозначает то же, что и (simple-array
base-char size): множество простых базовых строк определённого
размера.
-
(bit-vector size)
Обозначает то же, что и (array bit (size)): множество
битовых векторов определённого размера.
-
(simple-bit-vector size)
Обозначает то же, что и (simple-array bit
(size)): множество битовых векторов определённого размера.