| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 | | // 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(); |  | } | 
 |