summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2024-04-16 21:46:37 -0700
committerKaz Kylheku <kaz@kylheku.com>2024-04-16 21:46:37 -0700
commit262cf47d2c701bf71143f312427b1f4fa140deb9 (patch)
tree0828d9e7641147aa0687cb65c48404ae12533fdb /eval.c
parent12c24e79baa50ce2e345956bcbabe567c5339130 (diff)
downloadtxr-262cf47d2c701bf71143f312427b1f4fa140deb9.tar.gz
txr-262cf47d2c701bf71143f312427b1f4fa140deb9.tar.bz2
txr-262cf47d2c701bf71143f312427b1f4fa140deb9.zip
New function: iter-cat.
* eval.c (eval_init): Register iter-cat intrinsic. * lib.h (struct seq_iter): New union member dargs. (iter_catv): Declared. * lib.c (seq_iter_get_cat, seq_iter_peek_cat): New static functions. (si_cat_ops): New static structure. (iter_catv): New function. * tests/012/iter.tl: New tests. * txr.1: Documented.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 4125d33a..c7e281a7 100644
--- a/eval.c
+++ b/eval.c
@@ -7824,6 +7824,7 @@ void eval_init(void)
reg_fun(intern(lit("iter-item"), user_package), func_n1(iter_item));
reg_fun(intern(lit("iter-step"), user_package), func_n1(iter_step));
reg_fun(intern(lit("iter-reset"), user_package), func_n2(iter_reset));
+ reg_fun(intern(lit("iter-cat"), user_package), func_n0v(iter_catv));
reg_fun(intern(lit("rcons"), user_package), func_n2(rcons));
reg_fun(intern(lit("rangep"), user_package), func_n1(rangep));