Введение в программирование на Лиспе



             

Рекурсивные функции: определение и исполнение - часть 4


Формально для перехода к практике нужна несколько большая определенность по механизмам исполнения программ, представленных S-выражениями:

  • аргументы функций как правило вычисляются в порядке их перечисления,
  • композиции функций выполняются в порядке от самой внутренней функции наружу до самой внешней,
  • представление функции анализируется до того как начинают вычисляться аргументы, т.к. в случае специальных функций аргументы можно не вычислять,
  • при вычислении лямбда-выражений связи между именами переменных и их значениями, а также между именами функций и их определениями, накапливаются в так называемом ассоциативном списке, пополняемом при вызове функции и освобождаемом при выходе из функции.

Таблица 4.2. Clisp: Функции, строящие функциональные объекты.

(Declare Спецификации )Специфицирует переменные – dynamic-extent, ftype, ignorable, ignore, inline, optimize, special, type
(Defmacro Название Параметры Определение )Глобальное опреление макроса
(Defun Название Параметры Форма )Определение функции
(Function Название )#’ – выдает названную функцию
( Lambda Параметры Определение )Конструирует бузымянную функцию




Содержание  Назад  Вперед