1 665c255d 2023-08-04 jrmu (define (test-case actual expected)
3 665c255d 2023-08-04 jrmu (display "Actual: ")
4 665c255d 2023-08-04 jrmu (display actual)
6 665c255d 2023-08-04 jrmu (display "Expected: ")
7 665c255d 2023-08-04 jrmu (display expected)
10 665c255d 2023-08-04 jrmu (define (mystery x)
11 665c255d 2023-08-04 jrmu (define (loop x y)
12 665c255d 2023-08-04 jrmu (if (null? x)
14 665c255d 2023-08-04 jrmu (let ((temp (cdr x)))
15 665c255d 2023-08-04 jrmu (set-cdr! x y)
16 665c255d 2023-08-04 jrmu (loop temp x))))
17 665c255d 2023-08-04 jrmu (loop x '()))
19 665c255d 2023-08-04 jrmu ;; Explain what mystery does in general.
21 665c255d 2023-08-04 jrmu ;; mystery reverses the list x
23 665c255d 2023-08-04 jrmu (define v (list 'a 'b 'c 'd))
25 665c255d 2023-08-04 jrmu (define w (mystery v))
26 665c255d 2023-08-04 jrmu (test-case v '(a))
27 665c255d 2023-08-04 jrmu (test-case w '(d c b a))