diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-07-19 10:24:10 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-07-19 10:24:10 -0700 |
commit | 53fb3e6b09dbe62d66c516870855ba448f56c4b0 (patch) | |
tree | 6489c60e0517780cdc95252462b9f4865a7f5514 /lib.c | |
parent | 5b0a9e5fe1032653c745e56a2f39561a1d7b7661 (diff) | |
download | txr-53fb3e6b09dbe62d66c516870855ba448f56c4b0.tar.gz txr-53fb3e6b09dbe62d66c516870855ba448f56c4b0.tar.bz2 txr-53fb3e6b09dbe62d66c516870855ba448f56c4b0.zip |
* 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*.
Diffstat (limited to 'lib.c')
-rw-r--r-- | lib.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -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); |