Тип примитивной функции
Примитивная функция — это функция, вызываемая из Lisp, но написанная на языке программирования C. Примитивные функции также называются подпрограммами или встроенными функциями. (Слово «подпрограмма» происходит от слова «подпрограмма».) Большинство примитивных функций вычисляют все свои аргументы при вызове. Примитивная функция, которая не вычисляет все свои аргументы, называется специальной формой (см. Специальные формы).
Для вызывающей функции не имеет значения, является ли функция примитивной. Однако это важно, если вы пытаетесь переопределить примитив функцией, написанной на Lisp. Причина в том, что примитивная функция может вызываться непосредственно из кода C. Вызовы переопределённой функции из Lisp будут использовать новое определение, но вызовы из кода C могут по-прежнему использовать встроенное определение. Поэтому мы не рекомендуем переопределять примитивные функции.
Термин функция относится ко всем функциям Emacs, написанным на Lisp или C. Смотрите Тип функции для получения информации о функциях, написанных на Lisp.
Примитивные функции не имеют синтаксиса чтения и выводятся в обозначении с использованием хэша с именем подпрограммы.
(symbol-function 'car) ; Access the function cell ; of the symbol. ⇒ #<subr car> (subrp (symbol-function 'car)) ; Is this a primitive function? ⇒ t ; Yes.
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/Primitive-Function-Type.html