SICP問題2.30
直接バージョン
(define (square-tree items) (cond ((null? items) (list)) ((not (pair? items)) (square items)) (else (cons (square-tree (car items)) (square-tree (cdr items))))))
map と再帰バージョン
(define (square-tree tree) (map (lambda (sub-tree) (if (pair? sub-tree) (square-tree sub-tree) (square sub-tree))) tree))