summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2012-04-15 15:15:23 -0700
committerKaz Kylheku <kaz@kylheku.com>2012-04-15 15:15:23 -0700
commit20a737a17009582fd3022fb2f67e4b472445bc4f (patch)
tree371c8cfa1d0f5d79fc456249e76443dc9f46cd06 /eval.c
parent10083ef8d5be31db094ce70d0021d23aecdb9249 (diff)
downloadtxr-20a737a17009582fd3022fb2f67e4b472445bc4f.tar.gz
txr-20a737a17009582fd3022fb2f67e4b472445bc4f.tar.bz2
txr-20a737a17009582fd3022fb2f67e4b472445bc4f.zip
* eval.c (eval_init): New intrinsic functions remq*, remql*,
remqual*, remove-if*, keep-if*. * lib.c (rem_lazy_func, rem_lazy_rec): New static functions. (remq_lazy, remql_lazy, remqual_lazy, remove_if_lazy, keep_if_lazy): New functions. * lib.h (remq_lazy, remql_lazy, remqual_lazy, remove_if_lazy, keep_if_lazy): Declared. * txr.1: New functions documented.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 3cacebb5..9caec011 100644
--- a/eval.c
+++ b/eval.c
@@ -2177,6 +2177,11 @@ void eval_init(void)
reg_fun(intern(lit("remqual"), user_package), func_n2(remqual));
reg_fun(intern(lit("remove-if"), user_package), func_n3o(remove_if, 2));
reg_fun(intern(lit("keep-if"), user_package), func_n3o(keep_if, 2));
+ reg_fun(intern(lit("remq*"), user_package), func_n2(remq_lazy));
+ reg_fun(intern(lit("remql*"), user_package), func_n2(remql_lazy));
+ reg_fun(intern(lit("remqual*"), user_package), func_n2(remqual_lazy));
+ reg_fun(intern(lit("remove-if*"), user_package), func_n3o(remove_if_lazy, 2));
+ reg_fun(intern(lit("keep-if*"), user_package), func_n3o(keep_if_lazy, 2));
reg_fun(intern(lit("tree-find"), user_package), func_n3o(tree_find, 2));
reg_fun(intern(lit("some"), user_package), func_n3o(some_satisfy, 2));
reg_fun(intern(lit("all"), user_package), func_n3o(all_satisfy, 2));