Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // curry
- //
- function curry2(fn) {
- return function (a) : (fn) {
- return function (b) : (fn, a) {
- return fn(a, b);
- }}
- }
- function curry3(fn) {
- return function (a) : (fn) {
- return function (b) : (fn, a) {
- return function (c) : (fn, a, b) {
- return fn(a, b, c);
- }}}
- }
- function curry4(fn) {
- return function (a) : (fn) {
- return function (b) : (fn, a) {
- return function (c) : (fn, a, b) {
- return function (d) : (fn, a, b, c) {
- return fn(a, b, c, d);
- }}}}
- }
- function curry5(fn) {
- return function (a) : (fn) {
- return function (b) : (fn, a) {
- return function (c) : (fn, a, b) {
- return function (d) : (fn, a, b, c) {
- return function (e) : (fn, a, b, c, d) {
- return fn(a, b, c, d, e);
- }}}}}
- }
- function curry6(fn) {
- return function (a) : (fn) {
- return function (b) : (fn, a) {
- return function (c) : (fn, a, b) {
- return function (d) : (fn, a, b, c) {
- return function (e) : (fn, a, b, c, d) {
- return function (f) : (fn, a, b, c, d, e) {
- return fn(a, b, c, d, e, f);
- }}}}}}
- }
- function curry7(fn) {
- return function (a) : (fn) {
- return function (b) : (fn, a) {
- return function (c) : (fn, a, b) {
- return function (d) : (fn, a, b, c) {
- return function (e) : (fn, a, b, c, d) {
- return function (f) : (fn, a, b, c, d, e) {
- return function (g) : (fn, a, b, c, d, e, f) {
- return fn(a, b, c, d, e, f, g);
- }}}}}}}
- }
- function curry8(fn) {
- return function (a) : (fn) {
- return function (b) : (fn, a) {
- return function (c) : (fn, a, b) {
- return function (d) : (fn, a, b, c) {
- return function (e) : (fn, a, b, c, d) {
- return function (f) : (fn, a, b, c, d, e) {
- return function (g) : (fn, a, b, c, d, e, f) {
- return function (h) : (fn, a, b, c, d, e, f, g) {
- return fn(a, b, c, d, e, f, g, h);
- }}}}}}}}
- }
- function curry9(fn) {
- return function (a) : (fn) {
- return function (b) : (fn, a) {
- return function (c) : (fn, a, b) {
- return function (d) : (fn, a, b, c) {
- return function (e) : (fn, a, b, c, d) {
- return function (f) : (fn, a, b, c, d, e) {
- return function (g) : (fn, a, b, c, d, e, f) {
- return function (h) : (fn, a, b, c, d, e, f, g) {
- return function (i) : (fn, a, b, c, d, e, f, g, h) {
- return fn(a, b, c, d, e, f, g, h, i);
- }}}}}}}}}
- }
- function curry10(fn) {
- return function (a) : (fn) {
- return function (b) : (fn, a) {
- return function (c) : (fn, a, b) {
- return function (d) : (fn, a, b, c) {
- return function (e) : (fn, a, b, c, d) {
- return function (f) : (fn, a, b, c, d, e) {
- return function (g) : (fn, a, b, c, d, e, f) {
- return function (h) : (fn, a, b, c, d, e, f, g) {
- return function (i) : (fn, a, b, c, d, e, f, g, h) {
- return function (j) : (fn, a, b, c, d, e, f, g, h, i) {
- return fn(a, b, c, d, e, f, g, h, i, j);
- }}}}}}}}}}
- }
- function curry11(fn) {
- return function (a) : (fn) {
- return function (b) : (fn, a) {
- return function (c) : (fn, a, b) {
- return function (d) : (fn, a, b, c) {
- return function (e) : (fn, a, b, c, d) {
- return function (f) : (fn, a, b, c, d, e) {
- return function (g) : (fn, a, b, c, d, e, f) {
- return function (h) : (fn, a, b, c, d, e, f, g) {
- return function (i) : (fn, a, b, c, d, e, f, g, h) {
- return function (j) : (fn, a, b, c, d, e, f, g, h, i) {
- return function (k) : (fn, a, b, c, d, e, f, g, h, i, j) {
- return fn(a, b, c, d, e, f, g, h, i, j, k);
- }}}}}}}}}}}
- }
- function curry12(fn) {
- return function (a) : (fn) {
- return function (b) : (fn, a) {
- return function (c) : (fn, a, b) {
- return function (d) : (fn, a, b, c) {
- return function (e) : (fn, a, b, c, d) {
- return function (f) : (fn, a, b, c, d, e) {
- return function (g) : (fn, a, b, c, d, e, f) {
- return function (h) : (fn, a, b, c, d, e, f, g) {
- return function (i) : (fn, a, b, c, d, e, f, g, h) {
- return function (j) : (fn, a, b, c, d, e, f, g, h, i) {
- return function (k) : (fn, a, b, c, d, e, f, g, h, i, j) {
- return function (l) : (fn, a, b, c, d, e, f, g, h, i, j, k) {
- return fn(a, b, c, d, e, f, g, h, i, j, k, l);
- }}}}}}}}}}}}
- }
- function curry13(fn) {
- return function (a) : (fn) {
- return function (b) : (fn, a) {
- return function (c) : (fn, a, b) {
- return function (d) : (fn, a, b, c) {
- return function (e) : (fn, a, b, c, d) {
- return function (f) : (fn, a, b, c, d, e) {
- return function (g) : (fn, a, b, c, d, e, f) {
- return function (h) : (fn, a, b, c, d, e, f, g) {
- return function (i) : (fn, a, b, c, d, e, f, g, h) {
- return function (j) : (fn, a, b, c, d, e, f, g, h, i) {
- return function (k) : (fn, a, b, c, d, e, f, g, h, i, j) {
- return function (l) : (fn, a, b, c, d, e, f, g, h, i, j, k) {
- return function (m) : (fn, a, b, c, d, e, f, g, h, i, j, k, l) {
- return fn(a, b, c, d, e, f, g, h, i, j, k, l, m);
- }}}}}}}}}}}}}
- }
- //
- // uncurry
- //
- function uncurry(f) {
- return function (v, ...) : (f) {
- local r = f(v);
- for (local i = 0; i < vargc; ++i) {
- r = r(vargv[i]);
- }
- return r;
- }
- }
- //
- // flip
- //
- function flip(f) {
- return function (a) : (f) {
- return function (b) : (f, a) {
- return f(b)(a);
- }}
- }
- // == uncurry(flip(curry2(f)))
- function flip1(f) {
- return function (a, b) : (f) {
- return f(b, a);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement