summaryrefslogtreecommitdiffstats
path: root/lib.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-10-22 20:02:45 -0400
committerKaz Kylheku <kaz@kylheku.com>2011-10-22 20:02:45 -0400
commitc6de88f486896be891e73009dbe2ea0411bf89e1 (patch)
tree78a4401ba4035004bf7bf1575f729dacd16b81a7 /lib.h
parent6ddb4b8f329b14e6133f29573cfeb88d1ee30846 (diff)
downloadtxr-c6de88f486896be891e73009dbe2ea0411bf89e1.tar.gz
txr-c6de88f486896be891e73009dbe2ea0411bf89e1.tar.bz2
txr-c6de88f486896be891e73009dbe2ea0411bf89e1.zip
Task #11474
* filter.c (filter_equal): Takes two filters instead of one. (lfilt_k, rfilt_k): New keyword variables. (filter_init): New keyword variables initialized. * filter.h (filter_equal): Declaration updated. (lfilt_k, rfilt_k): Declared. * lib.c (funcall4): New function. (do_curry_1234_34): New static function. (curry_1234_34): New function. (do_swap_12_21): New static function. (swap_12_21): New function. * lib.h (funcall4, curry_1234_34, swap_12_21): Declared. * match.c (dest_bind): Swap use the function argument swapping combinator when calling tree find such that the value being searched is on the left and pattern material is on the right. (v_bind): Implemented :lfilt and :rfilt. * txr.1: Documented :lfilt and :rfilt.
Diffstat (limited to 'lib.h')
-rw-r--r--lib.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib.h b/lib.h
index 8cbeb8e5..76ff65df 100644
--- a/lib.h
+++ b/lib.h
@@ -383,6 +383,7 @@ val funcall(val fun);
val funcall1(val fun, val arg);
val funcall2(val fun, val arg1, val arg2);
val funcall3(val fun, val arg1, val arg2, val arg3);
+val funcall4(val fun, val arg1, val arg2, val arg3, val arg4);
val reduce_left(val fun, val list, val init, val key);
/* The notation curry_12_2 means take some function f(arg1, arg2) and
fix a value for argument 1 to create a g(arg2).
@@ -391,8 +392,10 @@ val curry_12_2(val fun2, val arg);
val curry_12_1(val fun2, val arg2);
val curry_123_2(val fun3, val arg1, val arg3);
val curry_123_23(val fun3, val arg1);
+val curry_1234_34(val fun3, val arg1, val arg2);
val chain(val first_fun, ...);
val andf(val first_fun, ...);
+val swap_12_21(val fun);
val vector(val alloc);
val vec_get_fill(val vec);
val vec_set_fill(val vec, val fill);