Оценка форм функций
Если первый элемент списка, который оценивается, является объектом функции Lisp, объектом байткода или объектом примитивной функции, то этот список является вызовом функции. Например, вот вызов функции +:
(+ 1 x)
Первый шаг в оценке вызова функции — это оценка оставшихся элементов списка слева направо. Результаты — фактические значения аргументов, по одному значению для каждого элемента списка. Следующий шаг — вызов функции с этим списком аргументов, фактически используя функцию apply (см. Вызов функций). Если функция написана на Lisp, аргументы используются для привязки переменных аргументов функции (см. Выражения лямбда); затем формы в теле функции оцениваются по порядку, и значение последней формы тела становится значением вызова функции.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Function-Forms.html