fixing append-map for real

This commit is contained in:
Alex Shinn 2011-05-17 00:35:05 -07:00
parent 74173bdc6c
commit 541d7f4550

View file

@ -58,9 +58,8 @@
(if (null? lists) (if (null? lists)
(if (null? ls) (if (null? ls)
'() '()
(let ((rev-ls (reverse ls))) (let lp ((ls (reverse ls)) (res '()))
(let lp ((ls (cdr rev-ls)) (res (car rev-ls))) (if (null? ls) res (lp (cdr ls) (append (f (car ls)) res)))))
(if (null? ls) res (lp (cdr ls) (append (f (car ls)) res))))))
(if (and (pair? ls) (every pair? lists)) (if (and (pair? ls) (every pair? lists))
(let lp ((lists (cons ls lists))) (let lp ((lists (cons ls lists)))
(let ((vals (apply f (map car lists))) (let ((vals (apply f (map car lists)))