Yes. With the generic curry: sum(1, 2)(3) works (partial application with 2 args, then the third). The curry function checks if enough args are collected.
Can you partially apply a curried function in JavaScript?
More FAQs in Currying Implementation and Examples
Use nested functions: function multiply(a) { return function(b) { return function(c) { return a * b * c; }; }; }. Each function takes one argument and returns the next.
Return a function that collects arguments. If args.length >= fn.length, call fn(...args). Otherwise, return (...next) => curried(...args, ...next). Use recursion to keep collecting.
Configurable functions: const log = curry((level, msg) => ...); const error = log('ERROR'); error('something broke'). Each partial call creates a specialized function.
Still have questions?
Browse all our FAQs or reach out to our support team
Want to upskill yourself?
Your learning library
Small steps. Big possibilities.
Find your next course. Build something great.