summaryrefslogtreecommitdiffstats
path: root/lib.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-03-27 09:41:12 -0700
committerKaz Kylheku <kaz@kylheku.com>2016-03-27 09:41:12 -0700
commit70203c5cdab161f2d12756ff382035efbbaef421 (patch)
tree4f67b9f661de3a67a547d3e15ba4e1b80ab9e7ef /lib.h
parent4d0ff5692b7da9f278681d69d8c4b5c37abdd4e3 (diff)
downloadtxr-70203c5cdab161f2d12756ff382035efbbaef421.tar.gz
txr-70203c5cdab161f2d12756ff382035efbbaef421.tar.bz2
txr-70203c5cdab161f2d12756ff382035efbbaef421.zip
Adding rightmost item search functions.
* eval.c (eval_init): Registered intrinsics rmemq, rmemql, rmemqual, rmember, rmember-if, rposqual, rposql, rposq, rpos, rpos-if, rfind, rfind-if and rsearch. * lib.c (rmemq, rmemql, rmemqual, rmember, rmember-if, rposqual, rposql, rposq, rpos, rpos-if, rfind, rfind-if, rsearch): New functions. (rsearch_list): New static function. (search): Omit unreachable return statement. * lib.h (rmemq, rmemql, rmemqual, rmember, rmember-if, rposqual, rposql, rposq, rpos, rpos-if, rfind, rfind-if, rsearch): Declared. * txr.1: Documented.
Diffstat (limited to 'lib.h')
-rw-r--r--lib.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib.h b/lib.h
index 07506a2b..92e08352 100644
--- a/lib.h
+++ b/lib.h
@@ -532,10 +532,15 @@ val split(val seq, val indices);
val partition_star(val seq, val indices);
val split_star(val seq, val indices);
val memq(val obj, val list);
+val rmemq(val obj, val list);
val memql(val obj, val list);
+val rmemql(val obj, val list);
val memqual(val obj, val list);
+val rmemqual(val obj, val list);
val member(val item, val list, val testfun, val keyfun);
+val rmember(val item, val list, val testfun, val keyfun);
val member_if(val pred, val list, val key);
+val rmember_if(val pred, val list, val key);
val remq(val obj, val list);
val remql(val obj, val list);
val remqual(val obj, val list);
@@ -905,14 +910,21 @@ val sort_group(val seq, val keyfun, val lessfun);
val unique(val seq, val keyfun, struct args *hashv_args);
val uniq(val seq);
val find(val list, val key, val testfun, val keyfun);
+val rfind(val list, val key, val testfun, val keyfun);
val find_if(val pred, val list, val key);
+val rfind_if(val pred, val list, val key);
val find_max(val seq, val testfun, val keyfun);
val find_min(val seq, val testfun, val keyfun);
val posqual(val obj, val list);
+val rposqual(val obj, val list);
val posql(val obj, val list);
+val rposql(val obj, val list);
val posq(val obj, val list);
+val rposq(val obj, val list);
val pos(val list, val key, val testfun, val keyfun);
+val rpos(val list, val key, val testfun, val keyfun);
val pos_if(val pred, val list, val key);
+val rpos_if(val pred, val list, val key);
val pos_max(val seq, val testfun, val keyfun);
val pos_min(val seq, val testfun, val keyfun);
val take(val count, val seq);
@@ -935,6 +947,7 @@ val butlast(val seq);
val replace(val seq, val items, val from, val to);
val update(val seq, val fun);
val search(val seq, val key, val from, val to);
+val rsearch(val seq, val key, val from, val to);
val where(val func, val seq);
val sel(val seq, val where);
val rcons(val from, val to);