EMZETT.
Войти

Каррирование (currying)

Коротко: Каррирование разбивает функцию с несколькими параметрами на цепочку функций с одним параметром: f(a, b, c) превращается в f(a)(b)(c).

Подробнее: Название напоминает логика Хаскелла Карри. Приём позволяет частичное применение: вы передаёте лишь часть аргументов и получаете новую специализированную функцию. В Haskell, OCaml и F# все функции автоматически каррированы; в других языках это строится на замыканиях.

Подробности

const add = (a) => (b) => a + b;

См. также: функция высшего порядка, лямбда-выражение, замыкание