don't error when passing dotted lists to n-ary map

This commit is contained in:
Alex Shinn 2010-08-01 16:20:31 +09:00
parent e4b65f83d5
commit e656c6e7e2

View file

@ -73,11 +73,11 @@
(map1 proc (cdr ls) (cons (proc (car ls)) res))
(reverse res)))
(define (mapn proc lol res)
(if (null? (car lol))
(reverse res)
(if (pair? (car lol))
(mapn proc
(map1 cdr lol '())
(cons (apply1 proc (map1 car lol '())) res))))
(cons (apply1 proc (map1 car lol '())) res))
(reverse res)))
(if (null? lol)
(map1 proc ls '())
(mapn proc (cons ls lol) '())))