diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2020-02-22 00:53:12 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2020-02-22 00:53:12 -0800 |
commit | 3830cf321258321719865709081a709c97fd4e0a (patch) | |
tree | 075682ac123a39b98b961025c99d9188628cef3a /lib.c | |
parent | 3434c8a937e39910d982130a88097da490304eb5 (diff) | |
download | txr-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.c | 27 |
1 files changed, 27 insertions, 0 deletions
@@ -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) |