diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-03-27 09:41:12 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-03-27 09:41:12 -0700 |
commit | 70203c5cdab161f2d12756ff382035efbbaef421 (patch) | |
tree | 4f67b9f661de3a67a547d3e15ba4e1b80ab9e7ef /lib.h | |
parent | 4d0ff5692b7da9f278681d69d8c4b5c37abdd4e3 (diff) | |
download | txr-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.h | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -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); |