[#] Лямбда-исчисление на JavaScript
habrabot(difrex,1) — All
2017-04-26 21:30:04


Привет! В этой статье я хочу в очередной раз взглянуть на лямбда-исчисление. Теоретическую сторону вопроса на хабре обсуждали уже множество раз, поэтому взглянем на то, как лямбда-исчисление может выглядеть на практике, например, на языке JavaScript (чтобы примеры можно было выполнять прямо в браузере).
Итак, основная идея: всё есть функция. Поэтому мы ограничим себя очень узким кругом возможностей языка: любое выражение будет либо анонимной функцией с одним аргументом (`x => expr`), либо вызовом функции (`f (x)`). То есть весь код будет выглядеть похожим образом:
id = x => x
double = f => x => f (f (x))

Поскольку результатом работы функций будут другие функции, нам понадобится способ интерпретировать результат. Это единственное место, в котором пригодятся нетривиальные возможности JavaScript.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/322052/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut