summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2024-07-11 20:48:34 -0700
committerKaz Kylheku <kaz@kylheku.com>2024-07-11 20:48:34 -0700
commitb2bb2af765a550efd92adb25687cb76f955574e3 (patch)
treef1eaa8bf8750b3cba95a5d40f95e808d94fb60ca /eval.c
parentd9d8beefbf45eaea89d4174e55df37ed89690ec9 (diff)
downloadtxr-b2bb2af765a550efd92adb25687cb76f955574e3.tar.gz
txr-b2bb2af765a550efd92adb25687cb76f955574e3.tar.bz2
txr-b2bb2af765a550efd92adb25687cb76f955574e3.zip
New funtion related to where function.
* eval.c (eval_init): register intrinsics wheref, whereq, whereql and wherequal. * lib.c (wheref_fun): New static function. (wheref, whereq, whereql, wherequal): New functions. * lib.h (wheref, whereq, whereql, wherequal): Declared. * tests/012/seq.tl: New tests. * txr.1: Documented.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 478b1345..a55fdc60 100644
--- a/eval.c
+++ b/eval.c
@@ -7829,6 +7829,10 @@ void eval_init(void)
reg_fun(intern(lit("contains"), user_package), func_n4o(contains, 2));
reg_fun(intern(lit("search-all"), user_package), func_n4o(search_all, 2));
reg_fun(intern(lit("where"), user_package), func_n2(where));
+ reg_fun(intern(lit("wheref"), user_package), func_n1(wheref));
+ reg_fun(intern(lit("whereq"), user_package), func_n1(whereq));
+ reg_fun(intern(lit("whereql"), user_package), func_n1(whereql));
+ reg_fun(intern(lit("wherequal"), user_package), func_n1(wherequal));
reg_fun(intern(lit("select"), user_package), func_n2(sel));
reg_fun(intern(lit("reject"), user_package), func_n2(reject));
reg_fun(intern(lit("relate"), user_package), func_n3o(relate, 2));