def test_findall_or_p(self): x, y = Var('x'), Var('y') eq_( eval( findall( macrorules([[x, y], x], [[x, y], y])(prin(1), prin(2)))), None)
def test_kleene2(self): f, kleene = MacroVar('f'), MacroVar('kleene') _ = DummyVar('_') item = Var('item') fun = macro((item, ), letrec([(f, macrorules(((), item, f()), ((), nullword)))], f())) eq_(eval(let([(kleene, fun)], set_text('ab'), kleene(char(_)))), True)
def test_kleene1(self): f, kleene = MacroVar('f'), MacroVar('kleene') item = Var('item') fun = macro((item,), letrec([(f, macrorules( ((), item, f()), ((), nullword)))], f())) eq_(eval(let([(kleene, fun)], set_text('aa'), kleene(char('a')))), True)
def test_reverse(self): x, y = Var('x'), Var('y') eq_(eval(macrorules([[x, y], y, x])(prin(1), prin(2))), None)
def test3(self): x = Var('x') eq_(eval(macrorules([[x], add(x, x)])(1)), 2)
def test4(self): x = Var('x') eq_(eval(macrorules([[x], prin(x)])(add(1, 1))), None)
def test5(self): x = Var('x') y = Var('y') eq_(eval(let([(y, 1)], macrorules([[x], prin(x)])(add(y, 1)))), None)
def test2(self): x = Var('x') eq_(eval(macrorules([[x], x])(prin(1))), None)
def test3(self): x = Var('x') eq_(eval(macrorules([[x], add(x, x)])(1)), 2)
def test_closure3(self): x, y, f = Const('x'), Const('y'), Const('f') eq_( eval( let([(f, macrorules([[x, y], begin(x, y)])), (x, 1)], f(prin(x), prin(add(x, x))))), None)
def test5(self): x = Var('x') y = Var('y') eq_(eval(let([(y, 1)], macrorules([[x], prin(x)])(add(y, 1)))), None)
def test_closure2(self): x, f = Const('x'), Const('f') eq_(eval(let([(f, macrorules([[x], x])), (x, 1)], f(add(x,x)))), 2)
def test_closure3(self): x, y, f = Const('x'), Const('y'), Const('f') eq_(eval(let([(f, macrorules([[x, y], begin(x, y)])), (x, 1)], f(prin(x), prin(add(x,x))))), None)
def test_closure1(self): x, f = Const('x'), Const('f') eq_(eval(let([(f, macrorules([[x], prin(x)])), (x, 1)], f(add(x,x)))), None)
def test_findall_or_p(self): x, y = Var('x'), Var('y') eq_(eval(findall(macrorules([[x, y], x], [[x, y], y])(prin(1), prin(2)))), None)
def test_reverse(self): x, y = Var('x'), Var('y') eq_(eval(macrorules([[x, y], y, x])(prin(1), prin(2))), None)
def test_closure1(self): x, f = Const('x'), Const('f') eq_(eval(let([(f, macrorules([[x], prin(x)])), (x, 1)], f(add(x, x)))), None)
def test2(self): x = Var('x') eq_(eval(macrorules([[x], x])(prin(1))), None)
def test_closure2(self): x, f = Const('x'), Const('f') eq_(eval(let([(f, macrorules([[x], x])), (x, 1)], f(add(x, x)))), 2)
def test4(self): x = Var('x') eq_(eval(macrorules([[x], prin(x)])(add(1, 1))), None)
def test1(self): eq_(eval(macrorules([[], prin(1)])()), None)
def test1(self): eq_(eval(macrorules([[], prin(1)])()), None)