Blob


1 ;; Exercise 2.27. Modify your reverse procedure of exercise 2.18 to produce a deep-reverse procedure that takes a list as argument and returns as its value the list with its elements reversed and with all sublists deep-reversed as well. For example,
3 (define (deep-reverse tree)
4 (cond ((null? tree) ...)
5 ((not (pair? tree)) ...)
6 (else ...)))
8 (define x (list (list 1 2) (list 3 4)))
10 x
11 ((1 2) (3 4))
13 (reverse x)
14 ((3 4) (1 2))
16 (deep-reverse x)
17 ((4 3) (2 1))