Esempio n. 1
0
def test_begin0():
    run_fix("(begin0 1 2)", 1)
    run_fix("(begin0 1)", 1)
    run_fix("(begin0 1 2 3)", 1)
    v = run_values("(begin0 (values #t #f) 2 3)")
    assert v == [w_true, w_false]
    run_fix("(let ([x 1]) (begin0 x (set! x 2)))", 1)
    run_fix("(let ([x 10]) (begin0 (set! x 0) (set! x (+ x 1))) x)", 1)
Esempio n. 2
0
def test_begin0():
    run_fix("(begin0 1 2)", 1)
    run_fix("(begin0 1)", 1)
    run_fix("(begin0 1 2 3)", 1)
    v = run_values("(begin0 (values #t #f) 2 3)")
    assert v == [w_true, w_false]
    run_fix("(let ([x 1]) (begin0 x (set! x 2)))", 1)
    run_fix("(let ([x 10]) (begin0 (set! x 0) (set! x (+ x 1))) x)", 1)
Esempio n. 3
0
def test_values():
    run_fix("(values 1)", 1)
    run_fix("(let-values () (values 1 2) (values 3))", 3)
    prog = "(let-values () (call-with-current-continuation (lambda (k) (k 1 2))) 3)"
    run_fix(prog, 3)
    v = run_values("(values #t #f)")
    assert [w_true, w_false] == v
    run_fix("(call-with-values (lambda () (values 1 2)) (lambda (a b) (+ a b)))", 3)
    run_fix("(call-with-values (lambda () (values 1 2)) +)", 3)
    run_fix("(call-with-values (lambda () (values)) (lambda () 0))", 0)
    run_fix("(call-with-values (lambda () (values 1)) (lambda (x) x))", 1)
    run_fix("(call-with-values (lambda () (values 1)) values)", 1)
    run_fix("(call-with-values (lambda () 1) values)", 1)
Esempio n. 4
0
def test_values():
    run_fix("(values 1)", 1)
    run_fix("(let () (values 1 2) (values 3))", 3)
    prog = "(let () (call/cc (lambda (k) (k 1 2))) 3)"
    run_fix(prog, 3)
    v = run_values("(values #t #f)")
    assert [w_true, w_false] == v
    run_fix("(call-with-values (lambda () (values 1 2)) (lambda (a b) (+ a b)))", 3)
    run_fix("(call-with-values (lambda () (values 1 2)) +)", 3)
    run_fix("(call-with-values (lambda () (values)) (lambda () 0))", 0)
    run_fix("(call-with-values (lambda () (values 1)) (lambda (x) x))", 1)
    run_fix("(call-with-values (lambda () (values 1)) values)", 1)
    run_fix("(call-with-values (lambda () 1) values)", 1)
    run_fix("""
(call-with-values (lambda () (time-apply (lambda () (+ 1 2)) '()))
                  (lambda (result t r gc) (and (fixnum? t) (fixnum? r) (fixnum? gc)
                                               (car result))))
""", 3)
Esempio n. 5
0
def test_values():
    run_fix("(values 1)", 1)
    run_fix("(let () (values 1 2) (values 3))", 3)
    prog = "(let () (call-with-current-continuation (lambda (k) (k 1 2))) 3)"
    run_fix(prog, 3)
    v = run_values("(values #t #f)")
    assert [w_true, w_false] == v
    run_fix(
        "(call-with-values (lambda () (values 1 2)) (lambda (a b) (+ a b)))",
        3)
    run_fix("(call-with-values (lambda () (values 1 2)) +)", 3)
    run_fix("(call-with-values (lambda () (values)) (lambda () 0))", 0)
    run_fix("(call-with-values (lambda () (values 1)) (lambda (x) x))", 1)
    run_fix("(call-with-values (lambda () (values 1)) values)", 1)
    run_fix("(call-with-values (lambda () 1) values)", 1)
    run_fix(
        """
(call-with-values (lambda () (time-apply (lambda () (+ 1 2)) '()))
                  (lambda (result t r gc) (and (fixnum? t) (fixnum? r) (fixnum? gc)
                                               (car result))))
""", 3)