From 008fccfa96b61189c0056ff5e3b708be1aa02f45 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 11 Nov 2015 06:40:24 -0800 Subject: Adding revappend and nreconc. * eval.c (eval_init): Register revappend and nreconc intrinsics. * lib.c (list_collect_nreconc): New function. (revlist): New static function. (list_collect_revappend): New function. (revappend, nreconc): New functions. * lib.h (revappend, nreconc): Declared. (list_collect_nreconc, list_collect_revappend): Declared. * txr.1: Documented revappend and nreconc. --- lib.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib.h') diff --git a/lib.h b/lib.h index db7b6e95..20021f57 100644 --- a/lib.h +++ b/lib.h @@ -499,6 +499,8 @@ val nreverse(val in); val reverse(val in); val append2(val list1, val list2); val nappend2(val list1, val list2); +val revappend(val list1, val list2); +val nreconc(val list1, val list2); val appendv(struct args *lists); val nconcv(struct args *lists); val sub_list(val list, val from, val to); @@ -999,6 +1001,8 @@ INLINE val default_arg_strict(val arg, val dfl) loc list_collect(loc pptail, val obj); loc list_collect_nconc(loc pptail, val obj); loc list_collect_append(loc pptail, val obj); +loc list_collect_nreconc(loc pptail, val obj); +loc list_collect_revappend(loc pptail, val obj); #define cons_bind(CAR, CDR, CONS) \ obj_t *c_o_n_s ## CAR ## CDR = CONS; \ -- cgit v1.2.3