Currying
Currying transforms a multi-argument function into a series of single-argument functions: f(a,b,c) → f(a)(b)(c), enabling partial application and function composition.
Purpose
Reuse arguments and compose functions, creating partial functions and improving flexibility.
Mechanism
f(a,b,c) becomes a → (b → (c → result)). Partial application: fixing some arguments yields a new function. Lodash curry and Ramda auto-curry. Combine with function composition to build pipelines.
Use cases
- Functional programming
- Argument reuse
- Function composition