Пример #1
0
@combinator
def byte_test(x):
    return unit_type(app(x, _bits_test))


@combinator
def byte_make(b0, b1, b2, b3, b4, b5, b6, b7):
    result = I
    for b in (b0, b1, b2, b3, b4, b5, b6, b7):
        result = app(C, result, b)
    return result


byte_get_bit = [
    combinator(lambda x: app(x, lambda b0, b1, b2, b3, b4, b5, b6, b7: b0)),
    combinator(lambda x: app(x, lambda b0, b1, b2, b3, b4, b5, b6, b7: b1)),
    combinator(lambda x: app(x, lambda b0, b1, b2, b3, b4, b5, b6, b7: b2)),
    combinator(lambda x: app(x, lambda b0, b1, b2, b3, b4, b5, b6, b7: b3)),
    combinator(lambda x: app(x, lambda b0, b1, b2, b3, b4, b5, b6, b7: b4)),
    combinator(lambda x: app(x, lambda b0, b1, b2, b3, b4, b5, b6, b7: b5)),
    combinator(lambda x: app(x, lambda b0, b1, b2, b3, b4, b5, b6, b7: b6)),
    combinator(lambda x: app(x, lambda b0, b1, b2, b3, b4, b5, b6, b7: b7)),
]


# ----------------------------------------------------------------------------
# Bytes, as a homogeneous list of Byte

@combinator
def bytes_test(xs):
Пример #2
0
def test_combinator_must_be_closed(arg, expected):
    with pytest.raises(SyntaxError):
        combinator(arg).code
Пример #3
0
 def __init__(self, encoders, decoder, fun):
     functools.update_wrapper(self, fun)
     self._encoders = encoders
     self._decoder = decoder
     self._untyped = combinator(fun)