Каррінг (currying)
Коротко: Каррінг розбиває функцію з кількома параметрами на ланцюжок функцій з одним параметром: f(a, b, c) перетворюється на f(a)(b)(c).
Докладніше: Назва нагадує логіка Гаскелла Каррі. Прийом дозволяє часткове застосування: ви передаєте лише частину аргументів і отримуєте нову спеціалізовану функцію. У Haskell, OCaml і F# усі функції автоматично каррійовані; в інших мовах це будується на замиканнях.
Подробиці
const add = (a) => (b) => a + b;Див. також: функція вищого порядку, лямбда-вираз, замикання