Test output for srfi-71 [ok]
Testing time: 0s
/home/mario/local/chicken-4.8.0.3/bin/csi -script run.scm < /dev/null (let () 1) => 1 ; correct (let ((x1 1)) x1) => 1 ; correct (let ((x1 1) (y1 2)) (list x1 y1)) => (1 2) ; correct (let ((x1 x2 (values 1 2))) (list x1 x2)) => (1 2) ; correct (let ((x1 x2 x3 (values 1 2 3))) (list x1 x2 x3)) => (1 2 3) ; correct (let (((values) (values))) 1) => 1 ; correct (let (((values x1) (values 1))) x1) => 1 ; correct (let (((values x1 x2) (values 1 2))) (list x1 x2)) => (1 2) ; correct (let (((values x1 x2 x3) (values 1 2 3))) (list x1 x2 x3)) => (1 2 3) ; correct (let (((values . x0+) (values))) x0+) => () ; correct (let (((values . x0+) (values 1))) x0+) => (1) ; correct (let (((values . x0+) (values 1 2))) x0+) => (1 2) ; correct (let (((values . x0+) (values 1 2 3))) x0+) => (1 2 3) ; correct (let (((values x1 . x1+) (values 1))) (cons x1 x1+)) => (1) ; correct (let (((values x1 . x1+) (values 1 2))) (cons x1 x1+)) => (1 2) ; correct (let (((values x1 . x1+) (values 1 2 3))) (cons x1 x1+)) => (1 2 3) ; correct (let (((values x1 x2 . x2+) (values 1 2))) (cons x1 (cons x2 x2+))) => (1 2) ; correct (let (((values x1 x2 . x2+) (values 1 2 3))) (cons x1 (cons x2 x2+))) => (1 2 3) ; correct (let loop ((x 1)) (if (zero? x) x (loop (- x 1)))) => 0 ; correct (let loop (((values x) 1)) (if (zero? x) x (loop (- x 1)))) => 0 ; correct (let* () 1) => 1 ; correct (let* ((x1 1)) x1) => 1 ; correct (let* (((values x1 x2 . x2+) (values 1 2 3))) (cons x1 (cons x2 x2+))) => (1 2 3) ; correct (let* ((x1 1) (y1 x1)) (list x1 y1)) => (1 1) ; correct (let* (((values x1 x2 . x2+) (values 1 2 3)) ((values y1 y2 . y2+) (apply values x1 x2 x2+))) (list (cons x1 (cons x2 x2+)) (cons y1 (cons y2 y2+)))) => ((1 2 3) (1 2 3)) ; correct (letrec () 1) => 1 ; correct (letrec ((x 1)) x) => 1 ; correct (letrec ((x 1) (y 2)) (list x y)) => (1 2) ; correct (letrec ((x (lambda () (y))) (y (lambda () 1))) (x)) => 1 ; correct (letrec ((x y (values (lambda () (y)) (lambda () 1)))) (x)) => 1 ; correct (let ((values 1)) values) => 1 ; correct (let (((values values) 1)) values) => 1 ; correct (let (((values bad values) (values 1 2))) (list bad values)) => (1 2) ; correct (values->list (values)) => () ; correct (values->list (values 1)) => (1) ; correct (values->list (values 1 2)) => (1 2) ; correct (values->list (values 1 2 3)) => (1 2 3) ; correct (values->vector (values)) => #() ; correct (values->vector (values 1)) => #(1) ; correct (values->vector (values 1 2)) => #(1 2) ; correct (values->vector (values 1 2 3)) => #(1 2 3) ; correct (values->vector (uncons (quote (1 2 3 4 5)))) => #(1 (2 3 4 5)) ; correct (values->vector (uncons-2 (quote (1 2 3 4 5)))) => #(1 2 (3 4 5)) ; correct (values->vector (uncons-3 (quote (1 2 3 4 5)))) => #(1 2 3 (4 5)) ; correct (values->vector (uncons-4 (quote (1 2 3 4 5)))) => #(1 2 3 4 (5)) ; correct (values->vector (uncons-cons (quote ((1 2) 3)))) => #(1 (2) (3)) ; correct (values->vector (unlist (quote (1 2 3)))) => #(1 2 3) ; correct (values->vector (unvector (quote #(1 2 3)))) => #(1 2 3) ; correct (let ((q r (quo-rem 13203 42))) (list q r)) => (314 15) ; correct (naive-quicksort (quote (3 1 4 1 5 9 2))) => (1 1 2 3 4 5 9) ; correct (deque:example 4) => (-4 -3 -2 -1 1 2 3 4) ; correct *** correct examples: 51 *** wrong examples: 0