ortense
4/3/2017 - 6:27 PM

simple and small curry function

simple and small curry function

const curry = (fn, ...args) => {
  if (args.length === fn.length) return fn(...args)
  return (...more) => curry(fn, ...args, ...more)
}

/*
const add = (a, b, c) => a + b + c

const curred = curry(add)

console.log(add(1,2,3))     // 6
console.log(curred(1))      // (b, c) => 1 + b + c
console.log(curred(1,2))    // (c) => 1 + 2 + c
console.log(curred(1,2,3))  // 6
console.log(curred(1)(2,3)) // 6
console.log(curred(1,2)(3)) // 6
*/