.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / prelude-ls / lib / Func.js
1 // Generated by LiveScript 1.6.0
2 var apply, curry, flip, fix, over, memoize, toString$ = {}.toString;
3 apply = curry$(function(f, list){
4   return f.apply(null, list);
5 });
6 curry = function(f){
7   return curry$(f);
8 };
9 flip = curry$(function(f, x, y){
10   return f(y, x);
11 });
12 fix = function(f){
13   return function(g){
14     return function(){
15       return f(g(g)).apply(null, arguments);
16     };
17   }(function(g){
18     return function(){
19       return f(g(g)).apply(null, arguments);
20     };
21   });
22 };
23 over = curry$(function(f, g, x, y){
24   return f(g(x), g(y));
25 });
26 memoize = function(f){
27   var memo;
28   memo = {};
29   return function(){
30     var args, res$, i$, to$, key, arg;
31     res$ = [];
32     for (i$ = 0, to$ = arguments.length; i$ < to$; ++i$) {
33       res$.push(arguments[i$]);
34     }
35     args = res$;
36     key = (function(){
37       var i$, ref$, len$, results$ = [];
38       for (i$ = 0, len$ = (ref$ = args).length; i$ < len$; ++i$) {
39         arg = ref$[i$];
40         results$.push(arg + toString$.call(arg).slice(8, -1));
41       }
42       return results$;
43     }()).join('');
44     return memo[key] = key in memo
45       ? memo[key]
46       : f.apply(null, args);
47   };
48 };
49 module.exports = {
50   curry: curry,
51   flip: flip,
52   fix: fix,
53   apply: apply,
54   over: over,
55   memoize: memoize
56 };
57 function curry$(f, bound){
58   var context,
59   _curry = function(args) {
60     return f.length > 1 ? function(){
61       var params = args ? args.concat() : [];
62       context = bound ? context || this : this;
63       return params.push.apply(params, arguments) <
64           f.length && arguments.length ?
65         _curry.call(context, params) : f.apply(context, params);
66     } : f;
67   };
68   return _curry();
69 }