Example #1
0
def profile(count=256):
    """Run a reduce(lib.gyte_test(lib.byte_table[n])) for the first count
    bytes."""
    examples = sorted(lib.byte_table.items())
    for n, byte in examples[:count]:
        engine.reduce(lib.byte_test(byte))
        sys.stdout.write('.')
        sys.stdout.flush()
Example #2
0
def repl(fmt='sexpr'):
    """Read eval print loop."""
    parse, print_, simplify = FORMATS[fmt]
    while True:
        sys.stdout.write('> ')
        sys.stdout.flush()
        try:
            string = raw_input()
        except KeyboardInterrupt:
            sys.stderr.write('Bye!\n')
            sys.stderr.flush()
            return
        try:
            code = parse(string)
            result = engine.reduce(code)
            result_string = print_(result)
            sys.stdout.write(result_string)
            sys.stdout.write('\n')
            sys.stdout.flush()
        except Exception as e:
            sys.stderr.write(str(e))
            sys.stderr.write('\n')
            sys.stderr.flush()
            continue
Example #3
0
def test_fix(value, expected):
    assert reduce(value) == expected
Example #4
0
 def py_fun(*py_args):
     assert len(py_args) == len(encode_args)
     un_args = tuple(e(a) for (e, a) in zip(encode_args, py_args))
     un_result = reduce(app(un_fun, *un_args))
     py_result = decode_result(un_result)
     return py_result
Example #5
0
def test_enum_flatten(xs, expected):
    assert reduce(lib.enum_flatten(xs)) == expected
Example #6
0
def test_enum_filter(p, xs, expected):
    assert reduce(lib.enum_filter(p, xs)) == expected
Example #7
0
def test_enum_union(xs, ys, expected):
    assert reduce(lib.enum_union(xs, ys)) == expected
Example #8
0
def test_list_size(xs, expected):
    assert reduce(lib.list_size(xs)) == expected
Example #9
0
def test_bool_or(x, y, expected):
    assert reduce(lib.bool_or(x, y)) == expected
Example #10
0
def test_byte_test_ok(n, byte):
    assert reduce(lib.byte_test(byte)) == ok
Example #11
0
def test_byte_test(expected, bits):
    byte = lib.byte_make(*bits)
    assert reduce(lib.byte_test(byte)) == expected
Example #12
0
def test_enum_contains(xs, y, expected):
    qxs = quote(enum(xs))
    qy = quote(y)
    assert reduce(lib.enum_contains(qxs, qy)) == expected
Example #13
0
def test_div_constructed(x, expected):
    assert reduce(app(a_div, x)) == expected
Example #14
0
def test_div(x, expected):
    assert reduce(lib.div(x)) == expected
Example #15
0
def test_close(f, x, expected):
    assert reduce(app(lib.close(f), x)) == expected
Example #16
0
def test_list_filter(p, xs, expected):
    assert reduce(lib.list_filter(p, xs)) == expected
Example #17
0
def test_list_sort(list_):
    xs = num_list(list_)
    expected = num_list(sorted(list_))
    actual = reduce(lib.list_sort(lib.num_lt, xs))
    assert actual == expected, lazy_actual_vs_expected(actual, expected)
Example #18
0
def test_num_lt(x, y, expected):
    assert reduce(lib.num_lt(x, y)) == expected
Example #19
0
def test_list_quote(x, expected):
    quote_item = lib.num_quote
    assert reduce(lib.list_quote(quote_item, x)) == expected
Example #20
0
def test_num_rec(z, s, x, expected):
    assert reduce(lib.num_rec(z, s, x)) == expected
Example #21
0
def test_enum_any(xs, expected):
    assert reduce(lib.enum_any(xs)) == expected
Example #22
0
def test_num_quote(x, expected):
    assert reduce(lib.num_quote(x)) == expected
Example #23
0
def test_enum_map(f, xs, expected):
    assert reduce(lib.enum_map(f, xs)) == expected
Example #24
0
def test_list_any(x, expected):
    assert reduce(lib.list_any(x)) == expected
Example #25
0
def test_enum_close(f, xs, expected):
    assert reduce(lib.enum_close(f, xs)) == simplify(expected)
Example #26
0
def test_list_cat(xs, ys, expected):
    assert reduce(lib.list_cat(xs, ys)) == expected
Example #27
0
def test_list_map(f, x, expected):
    assert reduce(lib.list_map(f, x)) == expected
Example #28
0
def test_list_rec(n, c, x, expected):
    assert reduce(lib.list_rec(n, c, x)) == expected
Example #29
0
def test_trace_reduce_equations(code, expected, message):
    with xfail_if_not_implemented():
        actual = engine.reduce(code, BUDGET)
    assert actual == expected, message
Example #30
0
def test_fun_type_fixes(value, type_):
    assert reduce(app(type_, value)) == reduce(as_code(value))