Функции с остаточным параметром

Функции +, *, list, append принимают произвольное число аргументов. Ключевое слово лямбда-списка &rest может фигурировать в списке формальных параметров.

(defun f (x y &rest z)
  (cons (+ x 10) (cons (+ y 20) z)))
(f 1 2 3 4 5)
(11 22 3 4 5)

Параметры x и y обязательные: функция f принимает не меньше двух аргументов. При вызове эти первые два связываются с x и y соответственно. Остаточный, или хвостовой, параметр z получит в качестве значения список всех оставшихся аргументов.