>>638
結局 (append result (foo-entry result dir (car files))) で
ディレクトリの深さ分スタック使うのだから
普通に再帰で書いたのに比べて何もメリットがなくない?
-- 
(define (foo l)
(if (string? l)
(list l)
(map (lambda (x) (string-append (car l) "/" x))
 (cons "" (apply append (map foo (cdr l)))))))