Some functional - JSFiddle

Some saved functional fitches

by Evgeniy Kvasyuk

JavaScript

//Функция для частичного применения
var curryIt = function(uncurried) {
  var parameters = Array.prototype.slice.call(arguments, 1);
  return function() {
    return uncurried.apply(this, parameters.concat(
      Array.prototype.slice.call(arguments, 0)
    ));
  };
};
//Частичное применение через bind
curried = uncurried.bind(null, "args");
curried('args2'); // = uncurried('args','args2');

//Вызов функции с куммулятивной функции с неограниченным количеством аргументов
var add = function (a) {
  var sum = a;

  var inner = function (b) {
    sum += b;
    return inner;
  };

  inner.valueOf = function () {
    return sum;
  };

  return inner;
};