>>307
同じでしょう。
まあ、mapしたものをreverseするのは無駄だから
専用化したものをはさむとか。
この辺はトランスレータとかが勝手に最適化して欲しい気はするけど。

(define (map-reverse proc l)
 (let loop ((x l)(r '()))
  (if (pair? x)
   (loop (cdr x) (cons (proc (car x)) r))
   r)))

(define (rev s)
 (map-reverse
  (lambda(x)(if(pair? x)(rev x)x))s))