|
14 | 14 | ("(+ (* 2 100) (* 1 10))", 210), |
15 | 15 | ("(if (> 6 5) (+ 1 1) (+ 2 2))", 2), |
16 | 16 | ("(if (< 6 5) (+ 1 1) (+ 2 2))", 4), |
17 | | - ("(define x 3)", None), ("x", 3), ("(+ x x)", 6), |
| 17 | + ("(define x 3)", None), |
| 18 | + ("x", 3), |
| 19 | + ("(+ x x)", 6), |
18 | 20 | ("((lambda (x) (+ x x)) 5)", 10), |
19 | | - ("(define twice (lambda (x) (* 2 x)))", None), ("(twice 5)", 10), |
| 21 | + ("(define twice (lambda (x) (* 2 x)))", None), |
| 22 | + ("(twice 5)", 10), |
20 | 23 | ("(define compose (lambda (f g) (lambda (x) (f (g x)))))", None), |
21 | 24 | ("((compose list twice) 5)", [10]), |
22 | 25 | ("(define repeat (lambda (f) (compose f f)))", None), |
23 | | - ("((repeat twice) 5)", 20), ("((repeat (repeat twice)) 5)", 80), |
| 26 | + ("((repeat twice) 5)", 20), |
| 27 | + ("((repeat (repeat twice)) 5)", 80), |
24 | 28 | ("(define fact (lambda (n) (if (<= n 1) 1 (* n (fact (- n 1))))))", None), |
25 | 29 | ("(fact 3)", 6), |
26 | 30 | ("(fact 50)", 30414093201713378043612608166064768844377641568960512000000000000), |
27 | 31 | ("(define abs (lambda (n) ((if (> n 0) + -) 0 n)))", None), |
28 | 32 | ("(list (abs -3) (abs 0) (abs 3))", [3, 0, 3]), |
29 | 33 | ("""(define combine (lambda (f) |
30 | | - (lambda (x y) |
31 | | - (if (null? x) (quote ()) |
32 | | - (f (list (car x) (car y)) |
33 | | - ((combine f) (cdr x) (cdr y)))))))""", None), |
| 34 | + (lambda (x y) |
| 35 | + (if (null? x) (quote ()) |
| 36 | + (f (list (car x) (car y)) |
| 37 | + ((combine f) (cdr x) (cdr y)))))))""", None), |
34 | 38 | ("(define zip (combine cons))", None), |
35 | 39 | ("(zip (list 1 2 3 4) (list 5 6 7 8))", [[1, 5], [2, 6], [3, 7], [4, 8]]), |
36 | | - ("""(define riff-shuffle (lambda (deck) (begin |
37 | | - (define take (lambda (n seq) (if (<= n 0) (quote ()) (cons (car seq) (take (- n 1) (cdr seq)))))) |
38 | | - (define drop (lambda (n seq) (if (<= n 0) seq (drop (- n 1) (cdr seq))))) |
39 | | - (define mid (lambda (seq) (/ (length seq) 2))) |
40 | | - ((combine append) (take (mid deck) deck) (drop (mid deck) deck)))))""", None), |
| 40 | + ("""(define riff-shuffle (lambda (deck) |
| 41 | + (begin |
| 42 | + (define take (lambda (n seq) (if (<= n 0) (quote ()) (cons (car seq) (take (- n 1) (cdr seq)))))) |
| 43 | + (define drop (lambda (n seq) (if (<= n 0) seq (drop (- n 1) (cdr seq))))) |
| 44 | + (define mid (lambda (seq) (/ (length seq) 2))) |
| 45 | + ((combine append) (take (mid deck) deck) (drop (mid deck) deck)))))""", None), |
41 | 46 | ("(riff-shuffle (list 1 2 3 4 5 6 7 8))", [1, 5, 2, 6, 3, 7, 4, 8]), |
42 | 47 | ("((repeat riff-shuffle) (list 1 2 3 4 5 6 7 8))", [1, 3, 5, 7, 2, 4, 6, 8]), |
43 | 48 | ("(riff-shuffle (riff-shuffle (riff-shuffle (list 1 2 3 4 5 6 7 8))))", [1,2,3,4,5,6,7,8]), |
|
0 commit comments