rem: Function.prototype.partial = function(/*arguments*/) { 
add: Function.prototype.partial = function(/*args*/) { 
context: Function.prototype.partial = function(/*arguments*/) {    var fn = this;    var args = [].slice.call(arguments, 0);    // substitution positions    var subpos = [], value;    for (var i = 0; i < arguments.length; i++)        arguments[i] == _ && subpos.push(i);    return function() {        var specialized = args.concat([].slice.call(arguments, subpos.length));        for (var i = 0; i < Math.min(subpos.length, arguments.length); i++)            specialized[subpos[i]] = arguments[i];        for (var i = 0; i < specialized.length; i++)            if (specialized[i] == _)                return fn.partial.apply(fn, specialized);        return fn.apply(this, specialized);    }}
meta: 10840	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/10840/02cef8cb44a575390aa2ae4df1a93c165afad820/partial.js/clean/partial.js