summaryrefslogtreecommitdiffstats
path: root/lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib.c')
-rw-r--r--lib.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib.c b/lib.c
index cce37b3a..a82bdea7 100644
--- a/lib.c
+++ b/lib.c
@@ -10103,6 +10103,25 @@ val copy_alist(val list)
return out;
}
+val pairlis(val keys, val values, val alist_in)
+{
+ val self = lit("pairlis");
+ val alist = default_null_arg(alist_in);
+ seq_iter_t sik, siv;
+ val key, value;
+ list_collect_decl (out, ptail);
+
+ seq_iter_init(self, &sik, keys);
+ seq_iter_init(self, &siv, values);
+
+ while (seq_get(&sik, &key) && seq_get(&siv, &value))
+ ptail = list_collect(ptail, cons(key, value));
+
+ list_collect_nconc(ptail, alist);
+
+ return out;
+}
+
val mapcar_listout(val fun, val seq)
{
val self = lit("mapcar");