Sha256: 0243e2303a7615f008eb7482d66f47d31158480c77b993d5e8a0b0a24241bcb0

Contents?: true

Size: 1.62 KB

Versions: 52

Compression:

Stored size: 1.62 KB

Contents

// Generated by LiveScript 1.6.0
var apply, curry, flip, fix, over, memoize, toString$ = {}.toString;
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));
});
memoize = function(f){
  var memo;
  memo = {};
  return function(){
    var args, res$, i$, to$, key, arg;
    res$ = [];
    for (i$ = 0, to$ = arguments.length; i$ < to$; ++i$) {
      res$.push(arguments[i$]);
    }
    args = res$;
    key = (function(){
      var i$, ref$, len$, results$ = [];
      for (i$ = 0, len$ = (ref$ = args).length; i$ < len$; ++i$) {
        arg = ref$[i$];
        results$.push(arg + toString$.call(arg).slice(8, -1));
      }
      return results$;
    }()).join('');
    return memo[key] = key in memo
      ? memo[key]
      : f.apply(null, args);
  };
};
module.exports = {
  curry: curry,
  flip: flip,
  fix: fix,
  apply: apply,
  over: over,
  memoize: memoize
};
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();
}

Version data entries

52 entries across 52 versions & 2 rubygems

Version Path
immosquare-cleaner-0.1.62 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.61 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.60 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.59 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.58 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.57 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.56 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.55 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.54 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.53 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.52 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.51 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.50 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.49 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.48 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.47 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.46 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.45 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.44 node_modules/prelude-ls/lib/Func.js
immosquare-cleaner-0.1.43 node_modules/prelude-ls/lib/Func.js