Замыкания с фиксированной и точечной арностью используют лексическую область, детерминированное вычисление аргументов и общий диспетчер применения для прямых вызовов и apply.
Кратко
LISPEX
(define (sum first . rest) (apply + first rest))
(sum 1 2 3 4)Результат
OUTPUT
10Текущие гарантии
- Несовпадение арности даёт E302 до начала тела процедуры.
- Точечный rest-параметр получает новый правильный список оставшихся аргументов.
applyпринимает явные начальные аргументы и один последний правильный список, сохраняя хвостовую позицию.
Границы
- Применение непроцедуры даёт E301; неправильный последний список
apply— ошибка домена списка. - Для выполнения гостевых замыканий не используется host
apply.