Комбинатор неподвижной точки

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Комбина́тор неподви́жной то́чки (также, ошибочно, иногда встречаются термины оператор неподвижной точки, комбинатор фиксированной точки и Y-комбинатор) — функция высшего порядка (все комбинаторы являются функциями высшего порядка), вычисляющая неподвижную точку другой функции.

Наиболее известным комбинатором неподвижной точки является Y-комбинатор в λ-исчислении, введённый известным американским учёным Хаскеллом Карри как
~Y=\lambda f.(\lambda x. f(x x))\;(\lambda x. f(x x)). Иногда имя этого комбинатора ошибочно используется для обозначения вообще всех комбинаторов неподвижной точки.

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

Теорема о неподвижной точке[править | править вики-текст]

И в λ-исчислении, и в комбинаторной логике для каждого терма ~X существует по крайней мере один терм ~P такой, что ~XP = P. И более того, существует комбинатор ~Y такой, что ~YX = X(YX)

См. также[править | править вики-текст]

Литература[править | править вики-текст]