Бета-редукция (β-редукция) – фундаментальная операция в лямбда-исчислении и функциональных языках программирования, позволяющая выполнять вычисления путём подстановки аргументов в функции. Это ключевой механизм, на котором основана работа языков типа Haskell, Lisp и Scala.
Процесс заключается в замене формального параметра функции на фактический аргумент. Формально это записывается как:
(λx.M) N → M[x:=N]
Где λx.M - лямбда-абстракция, N - аргумент, а M[x:=N] - результат подстановки.
В языках типа Haskell используется ленивое вычисление, что позволяет работать с бесконечными структурами данных и оптимизировать производительность.
Бета-редукция позволяет:
Например, в Haskell выражение map (*2) [1,2,3] сначала преобразуется через β-редукцию, а затем вычисляется в [2,4,6].