Лямбда-числення: опис теореми, особливості, приклади

Додаткові методи програмування

Існує велика кількість ідіом створення для лямбда-числення. Багато з них були спочатку розроблені в контексті використання систем як основи для семантики мови програмування, ефективно застосовуючи їх як створення низького рівня. Оскільки деякі стилі включають лямбда-числення (або щось дуже схоже) як фрагмента, ці методи також знаходять застосування в практичному створенні, але потім можуть сприйматися як неясні або чужі.

Іменовані константи

В лямбда-численні бібліотека приймає форму набору раніше визначених функцій, в якій терміни є просто конкретними константами. Чисте числення не має поняття іменованих незмінних, оскільки всі атомні лямбда-терміни є змінними. Але їх також можна імітувати, виділивши непостійну в якості імені константи, використовуючи лямбда-абстракцію для зв’язування цієї мінливої в основній частині, і застосувати цю абстракцію до наміченого визначенням. Таким чином, якщо використовувати f для позначення M N, можна сказати,

(λ ф. Н) М.

Автори часто вводять синтаксичне поняття, таке як let, щоб дозволити писати все більш інтуїтивному порядку.

f = M N

Об’єднуючи в ланцюжок такі визначення, можна написати «програму» лямбда-числення як нуль або більше дефініцій функцій, за якими слід один лямбда-член, використовуючи ті визначення, які складають основну частину програми.

Помітним обмеженням цього let є те, що ім’я f не визначено M, оскільки M знаходиться поза області прив’язки лямбда-абстракції f. Це означає, що атрибут рекурсивної функції не може використовуватися як M з let. Більш просунута синтаксична конструкція letrec, яка дозволяє писати рекурсивні визначення функцій в цьому стилі, замість цього додатково використовує комбінатори з фіксованою точкою.