From 53fb3e6b09dbe62d66c516870855ba448f56c4b0 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sat, 19 Jul 2014 10:24:10 -0700 Subject: * eval.c (mapdov): New function. (eval_init): Register mapdo intrinsic. * lib.c (mapdo): New function. * lib.h (mapdo): Declared. * txr.1: Documented mapdo. Documented zero-argument case for mapcar, mapcar*, mappend and mappend*. --- lib.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'lib.c') diff --git a/lib.c b/lib.c index 9289250a..0f705211 100644 --- a/lib.c +++ b/lib.c @@ -4979,6 +4979,16 @@ val mappend(val fun, val list) return make_like(out, list_orig); } +val mapdo(val fun, val list) +{ + list = nullify(list); + + for (; list; list = cdr(list)) + funcall1(fun, car(list)); + + return nil; +} + static val lazy_interpose_func(val env, val lcons) { cons_bind (sep, list, env); -- cgit v1.2.3