diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-12-01 06:57:50 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-12-01 06:57:50 -0800 |
commit | 4dec6b260812d1a30095aa24837730b50a661c17 (patch) | |
tree | 4afbc56bd3ce47c5d581866b6366aec7e815f4c1 | |
parent | 98ee5f2a78af025538662cd3aab877a405cb97f1 (diff) | |
download | txr-4dec6b260812d1a30095aa24837730b50a661c17.tar.gz txr-4dec6b260812d1a30095aa24837730b50a661c17.tar.bz2 txr-4dec6b260812d1a30095aa24837730b50a661c17.zip |
Adding curry_1234_1 function.
* lib.c (do_curry_1234_1): New static function.
(curry_1234_1): New function
* lib.h: (curry_1234_1): Declared.
-rw-r--r-- | lib.c | 15 | ||||
-rw-r--r-- | lib.h | 1 |
2 files changed, 16 insertions, 0 deletions
@@ -6251,6 +6251,21 @@ val curry_123_23(val fun3, val arg1) return func_f2(cons(fun3, arg1), do_curry_123_23); } +static val do_curry_1234_1(val fcons, val arg1) +{ + cons_bind (fun, dr, fcons); + cons_bind (arg2, ddr, dr); + cons_bind (arg3, dddr, ddr); + val arg4 = car(dddr); + + return funcall4(fun, arg1, arg2, arg3, arg4); +} + +val curry_1234_1(val fun4, val arg2, val arg3, val arg4) +{ + return func_f1(list(fun4, arg2, arg3, arg4, nao), do_curry_1234_1); +} + static val do_curry_1234_34(val fcons, val arg3, val arg4) { return funcall4(car(fcons), car(cdr(fcons)), cdr(cdr(fcons)), arg3, arg4); @@ -866,6 +866,7 @@ val curry_123_3(val fun3, val arg1, val arg2); val curry_123_2(val fun3, val arg1, val arg3); val curry_123_1(val fun3, val arg2, val arg3); val curry_123_23(val fun3, val arg1); +val curry_1234_1(val fun4, val arg2, val arg3, val arg4); val curry_1234_34(val fun3, val arg1, val arg2); val chain(val first_fun, ...); val chainv(struct args *funlist); |