diff --git a/lib/init.scm b/lib/init.scm index d5191caf..62d044ec 100644 --- a/lib/init.scm +++ b/lib/init.scm @@ -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) '())))