// Generated by LiveScript 1.2.0 var apply, curry, flip, fix, over; apply = curry$(function(f, list){

return f.apply(null, list);

}); curry = function(f){

return curry$(f);

}; flip = curry$(function(f, x, y){

return f(y, x);

}); fix = function(f){

return function(g){
  return function(){
    return f(g(g)).apply(null, arguments);
  };
}(function(g){
  return function(){
    return f(g(g)).apply(null, arguments);
  };
});

}; over = curry$(function(f, g, x, y){

return f(g(x), g(y));

}); module.exports = {

curry: curry,
flip: flip,
fix: fix,
apply: apply,
over: over

}; function curry$(f, bound){

var context,
_curry = function(args) {
  return f.length > 1 ? function(){
    var params = args ? args.concat() : [];
    context = bound ? context || this : this;
    return params.push.apply(params, arguments) <
        f.length && arguments.length ?
      _curry.call(context, params) : f.apply(context, params);
  } : f;
};
return _curry();

}