Большинство следующих функций выполняют простые операции над одиночными последовательностями. make-sequence создаёт новую последовательность.
Функция возвращает элемент последовательности sequence, указанный индексом index. Индекс должен быть неотрицательным целым числом меньшим чем длина последовательности sequence. Длина последовательности, в свою очередь, вычисляется функцией length. Первый элемент последовательности имеет индекс 0.
(Следует отметить, что elt учитывает указатель заполнения для векторов, его имеющих. Для доступа ко всем элементам таких векторов используется функция для массивов aref.)
Для изменения элемента последовательности может использоваться функция setf в связке с elt.
Данная функция возвращает подпоследовательность последовательности sequence начиная с позиции start и заканчивая позицией end. subseq всегда создаёт новую последовательность для результата. Возвращённая подпоследовательность всегда имеет тот же тип, что и исходная последовательность.
Для изменения подпоследовательности элементов можно использовать setf в связке с subseq. Смотрите также replace.
Функция создаёт копию аргумента sequence. Результат равен equalp аргументу. Однако, результат не не равен eq аргументу.
но имя copy-seq лучше передаёт смысл операции.
Функция возвращает количество элементов последовательности sequence. Результат является неотрицательным целым числом. Если последовательность является вектором с указателем заполнения, возвращается «активная длина», то есть длина заданная указателем заполнения (смотрите раздел 17.5).
Результатом является новая последовательность такого же типа, что и последовательность sequence. Элементы итоговой последовательности размещаются в обратном порядке. Аргумент при этом не модифицируется.
Результатом является последовательность, содержащая те же элементы, что и последовательность sequence, но в обратном порядке. Аргумент может быть уничтожен и использован для возврата результата. Результат может быть или не быть равен eq аргументу. Поэтому обычно используют явное присваивание (setq x (nreverse x)), так как просто (nreverse x) не гарантирует возврат преобразованной последовательности в x.
X3J13 voted in March 1989 to clarify the permissible side effects of certain operations. When the sequence is a list, nreverse is permitted to perform a setf on any part, car or cdr, of the top-level list structure of that list. When the sequence is an array, nreverse is permitted to re-order the elements of the given array in order to produce the resulting array.
Данная функция возвращает последовательность типа type и длинной size, каждый из элементов которой содержит значение аргумента :initial-element. Если указан аргумент :initial-element, он должен принадлежать типу элемента последовательности type. Например:
Если аргумент :initial-element не указан, тогда последовательность инициализируется алгоритмом реализации.
X3J13 voted in January 1989 to clarify that the type argument must be a type specifier, and the size argument must be a non-negative integer less than the value of array-dimension-limit.
X3J13 voted in June 1989 to specify that make-sequence should signal an error if the sequence type specifies the number of elements and the size argument is different.
X3J13 voted in March 1989 to specify that if type is string, the result is the same as if make-string had been called with the same size and :initial-element arguments.