Blame


1 665c255d 2023-08-04 jrmu (define (count-leaves x)
2 665c255d 2023-08-04 jrmu (cond ((null? x) 0)
3 665c255d 2023-08-04 jrmu ((not (pair? x)) 1)
4 665c255d 2023-08-04 jrmu (else (+ (count-leaves (car x))
5 665c255d 2023-08-04 jrmu (count-leaves (cdr x))))))
6 665c255d 2023-08-04 jrmu
7 665c255d 2023-08-04 jrmu ;;(list 1 (list 2 (list 3 4)))
8 665c255d 2023-08-04 jrmu ;;'(1 (2 (3 4)))
9 665c255d 2023-08-04 jrmu
10 665c255d 2023-08-04 jrmu ;; Exercise 2.26. Suppose we define x and y to be two lists:
11 665c255d 2023-08-04 jrmu
12 665c255d 2023-08-04 jrmu (define x (list 1 2 3))
13 665c255d 2023-08-04 jrmu (define y (list 4 5 6))
14 665c255d 2023-08-04 jrmu
15 665c255d 2023-08-04 jrmu ;; What result is printed by the interpreter in response to evaluating each of the following expressions:
16 665c255d 2023-08-04 jrmu
17 665c255d 2023-08-04 jrmu (display (append x y))
18 665c255d 2023-08-04 jrmu (newline)
19 665c255d 2023-08-04 jrmu (display '(1 2 3 4 5 6))
20 665c255d 2023-08-04 jrmu (newline)
21 665c255d 2023-08-04 jrmu (newline)
22 665c255d 2023-08-04 jrmu
23 665c255d 2023-08-04 jrmu (display (cons x y))
24 665c255d 2023-08-04 jrmu (newline)
25 665c255d 2023-08-04 jrmu (display '((1 2 3) 4 5 6))
26 665c255d 2023-08-04 jrmu (newline)
27 665c255d 2023-08-04 jrmu (newline)
28 665c255d 2023-08-04 jrmu
29 665c255d 2023-08-04 jrmu (display (list x y))
30 665c255d 2023-08-04 jrmu (newline)
31 665c255d 2023-08-04 jrmu (display '((1 2 3) (4 5 6))
32 665c255d 2023-08-04 jrmu (newline)