Schonefinkelize function

by joplomacedo

JavaScript

var Schonefinkelize = (function() {
    var slice = Array.prototype.slice;
    
    return function(fn) {
        var stored_args = slice.call(arguments, 1);
        return function () {
            var new_args = slice.call(arguments),
                args = stored_args.concat(new_args);
            return fn.apply(null, args);
        };
    };
})();


/** EXAMPLE **/

function add(a, b) {
    return a + b;
}

var add5 = Schonefinkelize(add, 5);
alert(add5(4));