Blame


1 665c255d 2023-08-04 jrmu (define (test-case actual expected)
2 665c255d 2023-08-04 jrmu (newline)
3 665c255d 2023-08-04 jrmu (display "Actual: ")
4 665c255d 2023-08-04 jrmu (display actual)
5 665c255d 2023-08-04 jrmu (newline)
6 665c255d 2023-08-04 jrmu (display "Expected: ")
7 665c255d 2023-08-04 jrmu (display expected)
8 665c255d 2023-08-04 jrmu (newline))
9 665c255d 2023-08-04 jrmu
10 665c255d 2023-08-04 jrmu (define (last-pair x)
11 665c255d 2023-08-04 jrmu (if (null? (cdr x))
12 665c255d 2023-08-04 jrmu x
13 665c255d 2023-08-04 jrmu (last-pair (cdr x))))
14 665c255d 2023-08-04 jrmu
15 665c255d 2023-08-04 jrmu (define (make-cycle x)
16 665c255d 2023-08-04 jrmu (set-cdr! (last-pair x) x)
17 665c255d 2023-08-04 jrmu x)
18 665c255d 2023-08-04 jrmu
19 665c255d 2023-08-04 jrmu Draw a box-and-pointer diagram that shows the structure z created by
20 665c255d 2023-08-04 jrmu
21 665c255d 2023-08-04 jrmu (define z (make-cycle (list 'a 'b 'c)))
22 665c255d 2023-08-04 jrmu
23 665c255d 2023-08-04 jrmu What happens if we try to compute (last-pair z)?