aboutsummaryrefslogtreecommitdiff
path: root/tests/let.scm
blob: 53f39e4ca9f84085003a3f99ee0b03428cb0f8cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(use-modules (util))

(test-begin "let")

(test-assert (let* ((a #t)) a))
(test-assert (let* (((a . b) '(#t . #f))) a))
(test-assert (let* (((a . b) (cons* #f #t))) b))
(test-assert (let* ((a b c (values #f #t #f))) b))
(test-assert (let* (((a b c) (list #f #t #f))) b))
(test-assert (let* (((a) '(#t))) a))
(test-equal '(2) (let* (((a . b) '(1 2))) b))
(test-equal '(3 4) (let* (((a b . c) '(1 2 3 4))) c))
(test-equal 10 (let* (x) (set! x 10) x))
(test-equal 30 (let* (x y) (set! x 10) (set! y 20) (+ x y)))
(test-assert (let* (x) (not x)))
(test-equal 6 (let* ((x 1) y z) (set! y 2) (set! z 3) (+ x y z)))

(test-end "let")