Функциональное программирование

Вычислительная модель, в которой программа рассматривается как множество определений функций, называется функциональной моделью. Для описания функциональных моделей используются два метода: первый основан на использовании аппликативного языка, а второй — на использовании языка с однократным присваиванием.

Отличительной чертой этих моделей является то, что в основу их положена простая и четкая математическая модель, называемая «лямбда-исчислением».

Функциональное программирование

Рассмотрим основные понятия «лямбда — исчисления». В выражении f (x), которое используется обычно для представления функции, не ясно: то ли оно означает функцию f то ли ее значение при заданном значении параметра х. Поэтому для четкого описания функции /было введено выражение. То есть, когда выражение М хотят рассматривать как функцию от х, следует использовать запись. Получение выражения из выражения М называют «лямбда — абстракцией». Таким образом, выражение  является функцией от х, а не от у. При этом х называется связанной переменной, а у -свободной переменной.

Подстановка выражения А в х внутри М называется применением А к f и записывается как fA. Вычисление выражения в этой модели носит название редукции.

Примерами языков программирования, реализующими вычисления на основе функциональных моделей являются для аппликативного языка «чистый» Лисп, предложенный Маккарти, FP Бэкуса и др., к языкам с однократным присваиванием относятся Id Арвинда , VAL Аккермана и Денниса др.

Яндекс.Метрика