Unlambda — минимальный функциональный эзотерический

Unlambda — минимальный функциональный эзотерический язык программирования на основе комбинаторной логики, разработанный Дэвидом Мэдором (David Madore) в 1999 году.

В Unlambda не допускается использование скобок. Вместо них применяется оператор префикса (аппликации) «`» для передачи функции аргумента. Если f и х выражения, то запись ` fx обозначает, что функция f применяется к аргументу x.

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

Основными функциями языка являются две встроенные функции s и k и оператор аппликации «`».

s — принимает три аргумента (путем каррирования) и применяет каждую из первых двух функций к третьей, а затем применяет первую результирующую функцию ко второй , и возвращает результат, то есть, «`sxyz вычисляет «xz`yz.

k — принимает два аргумента (путем каррирования) и возвращает первый.

#code@tproger