summaryrefslogtreecommitdiffstats
path: root/lib.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2020-02-22 00:53:12 -0800
committerKaz Kylheku <kaz@kylheku.com>2020-02-22 00:53:12 -0800
commit3830cf321258321719865709081a709c97fd4e0a (patch)
tree075682ac123a39b98b961025c99d9188628cef3a /lib.c
parent3434c8a937e39910d982130a88097da490304eb5 (diff)
downloadtxr-3830cf321258321719865709081a709c97fd4e0a.tar.gz
txr-3830cf321258321719865709081a709c97fd4e0a.tar.bz2
txr-3830cf321258321719865709081a709c97fd4e0a.zip
New functions: meq, meql and mequal.
* eval.c (eval_init): Register meq, meql an mequal intrinsics. * lib.c (meq, meql, mequal): New functions. * lib.h (meq, meql, mequal): Declared. * txr.1: Documented.
Diffstat (limited to 'lib.c')
-rw-r--r--lib.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/lib.c b/lib.c
index ec17d81b..011da356 100644
--- a/lib.c
+++ b/lib.c
@@ -2898,6 +2898,33 @@ val equal(val left, val right)
return nil;
}
+val meq(val item, varg args)
+{
+ cnum index = 0;
+ while (args_more(args, index))
+ if (eq(item, args_get(args, &index)))
+ return t;
+ return nil;
+}
+
+val meql(val item, varg args)
+{
+ cnum index = 0;
+ while (args_more(args, index))
+ if (eql(item, args_get(args, &index)))
+ return t;
+ return nil;
+}
+
+val mequal(val item, varg args)
+{
+ cnum index = 0;
+ while (args_more(args, index))
+ if (equal(item, args_get(args, &index)))
+ return t;
+ return nil;
+}
+
alloc_bytes_t malloc_bytes;
static void oom(void)