May. 20th, 2007

Комбинаторная логика предлагает представление лямбда-выражений с помощью одной базисной функции (здесь и далее используется вариант записи, используемый в языке Python):

X = lambda f: f (lambda x: lambda y: lambda z: x (z) (y (z))) (lambda x: lambda y: lambda z: x)

С помощью этой функции можно ввести еще три:

K = X (X)
S = X (K)
I = S (K) (K)

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

Profile

Anton Salikhmetov

November 2018

S M T W T F S
    123
45678 910
11121314151617
18192021222324
252627282930 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 10th, 2025 12:34 am
Powered by Dreamwidth Studios