summaryrefslogtreecommitdiffstats
path: root/lib.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-02-14 06:46:45 -0800
committerKaz Kylheku <kaz@kylheku.com>2019-02-14 06:46:45 -0800
commit4477112731119ebc28d5e4a9dce858d8d008af36 (patch)
tree7ac7093b4b934dc4304f7f3984aebbea542506d8 /lib.h
parent014c61e860fce07cceee60efecd949a17e53f2ae (diff)
downloadtxr-4477112731119ebc28d5e4a9dce858d8d008af36.tar.gz
txr-4477112731119ebc28d5e4a9dce858d8d008af36.tar.bz2
txr-4477112731119ebc28d5e4a9dce858d8d008af36.zip
symdiff: new function.
* eval.c (eval_init): Register symdiff intrinsic. * lib.c (symdiff): New function. * lib.h (us_car_p, us_cdr_p): New inline functions. (symdiff): Declared. * txr.1: Documented, also fixing issues not related to symdiff doc.
Diffstat (limited to 'lib.h')
-rw-r--r--lib.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib.h b/lib.h
index 08e7acb2..866d48b3 100644
--- a/lib.h
+++ b/lib.h
@@ -544,6 +544,8 @@ val car(val cons);
val cdr(val cons);
INLINE val us_car(val cons) { return cons->c.car; }
INLINE val us_cdr(val cons) { return cons->c.cdr; }
+INLINE val *us_car_p(val cons) { return &cons->c.car; }
+INLINE val *us_cdr_p(val cons) { return &cons->c.cdr; }
val rplaca(val cons, val new_car);
val rplacd(val cons, val new_car);
val sys_rplaca(val cons, val new_car);
@@ -1079,6 +1081,7 @@ val drop_until(val pred, val seq, val keyfun);
val in(val seq, val key, val testfun, val keyfun);
val set_diff(val list1, val list2, val testfun, val keyfun);
val diff(val seq1, val seq2, val testfun, val keyfun);
+val symdiff(val seq1, val seq2, val testfun, val keyfun);
val isec(val list1, val list2, val testfun, val keyfun);
val uni(val list1, val list2, val testfun, val keyfun);
val copy(val seq);