2.30 Exercise 2.30
These procedures are direct modifications of the corresponding ones for scale-tree. This is relevant to the next exercise.
(define (square-tree tree) (cond ((null? tree) nil) ((not (pair? tree)) (square tree)) (else (cons (square-tree (car tree)) (square-tree (cdr tree))))))
(define (square-tree tree) (map (lambda (sub-tree) (if (pair? sub-tree) (square-tree sub-tree) (square sub-tree))) tree))