Функції в Ліспі - питання і відповіді - функціональне і логічне програмування - ДонНТУ
Функції в Ліспі - це обчислення Черча.
Функції в Ліспі - це λ-числення Черча.
(Defun ім'я λ-вираз тіло)
λ-вираз вже включає в себе тіло, тому в даному випадку аргумент «тіло» зайвий.
Функція - це правило обчислення значення по аргументам.
Це не є відмінною рисою функцій в Ліспі в порівнянні з усіма іншими функціями.
Ця відповідь є визначенням терміна «функція», але не описом способу визначення самих функцій в Ліспі.
Функції в Ліспі застосовуються за допомогою команди setq. Функції присвоюється значення, її можна розглядати як змінну.
setq - це не команда, а функція.
setq не використовується для застосування функцій. Ця функція використовується для інших цілей.
Якщо setq використовується для застосування функцій, і сама setq - це теж функція, то як застосувати функцію setq.
Функція - це програма. Значення - це дане. Значення зберігаються в змінних. Але не в програмі і не в функції.
Після визначення функція розглядається як глобальна змінна.
Функція - це програма. Змінна - це область пам'яті, в якій зберігається дане. Зазвичай програма не розглядається як дане (за тим рідкісним винятком, коли одна програма створює іншу програму, або модифікує сама себе).
Хоча, можна говорити про область видимості функцій і змінних. У Ліспі дійсно область видимості всіх функцій - глобальна.
λ-вираз призначене для визначення [будь-який іменник].
λ-вираз не призначене для визначення чого б то не було.
λ-вираз - це список параметрів.
λ (x) e, де e - це вираз, який обчислює значення функції.
λ-вираз - це функція без назви.
«Назва функції» - немає такого терміна.
λ-вираз - вживається при визначенні функцій.
«Вживання чого-небудь» - немає такого терміна.
λ-вираз використовується для того, щоб не описувати одне і те ж вираз багато разів, а використовувати функцію.
Для цього використовуються функції, а не λ-вирази.
λ-вираз - це модель обчислень в Ліспі (λ-вирази Черча).
λ-вираз - це функція в СФЯ і в Ліспі.
Другий етап виконання λ-виклику-
Для Лямбда-виклику використовується defun.
-
Якщо тіло є правильним S-виразом, то результат повертається через λ-вираз.
-
У λ-виклику всього 2 етапи виконання.
Виклик виконання форми.
Виклик виконання формули.
Це коли строго більше або строго менше.
Сувора функція - це коли зовнішні змінні не змінюються.
Це необхідна, але не достатня умова.
Сувора функція - це функція, яка всюди визначена на безлічі А.
-
Відмінність від суворої полягає в тому, що результат не повертається через ім'я.
Майже сувора функція може повернути результат і через ім'я.
Нестрогая функція теж може повернути результат не через ім'я.
Майже сувора функція - це функція, яка має елементи в безлічі А, для яких образ цієї функції не визначено.
Нестрогая функція - це функція, елементи якої не визначені в безлічі А.
Це функція, яка вважає всі вирази (або все вираз).
Часткова функція - це частина. Вона є частиною загальної функції.
-
Неправильний синтаксис списку аргументів.
Якщо умова завершення рекурсії не спрацює на першому кроці, то воно не спрацює ніколи і буде мати місце нескінченна рекурсія.
Остання модифікація: 03.11.06 12:55