Esempio n. 1
0
 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)
Esempio n. 2
0
 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)
Esempio n. 3
0
 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)
Esempio n. 4
0
 def test_reverse(self):
     x, y = Var('x'), Var('y')
     eq_(eval(macrorules([[x, y], y, x])(prin(1), prin(2))), None)
Esempio n. 5
0
 def test3(self):
   x = Var('x')
   eq_(eval(macrorules([[x], add(x, x)])(1)), 2) 
Esempio n. 6
0
 def test4(self):
     x = Var('x')
     eq_(eval(macrorules([[x], prin(x)])(add(1, 1))), None)
Esempio n. 7
0
 def test5(self):
     x = Var('x')
     y = Var('y')
     eq_(eval(let([(y, 1)], macrorules([[x], prin(x)])(add(y, 1)))), None)
Esempio n. 8
0
 def test2(self):
     x = Var('x')
     eq_(eval(macrorules([[x], x])(prin(1))), None)
Esempio n. 9
0
 def test3(self):
     x = Var('x')
     eq_(eval(macrorules([[x], add(x, x)])(1)), 2)
Esempio n. 10
0
 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)
Esempio n. 11
0
 def test5(self):
   x = Var('x')
   y = Var('y')
   eq_(eval(let([(y, 1)], macrorules([[x], prin(x)])(add(y, 1)))), None) 
Esempio n. 12
0
 def test_closure2(self):
   x, f = Const('x'), Const('f')
   eq_(eval(let([(f, macrorules([[x], x])),
                 (x, 1)],
            f(add(x,x)))), 2)
Esempio n. 13
0
 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) 
Esempio n. 14
0
 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) 
Esempio n. 15
0
 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) 
Esempio n. 16
0
 def test_reverse(self):
   x, y = Var('x'), Var('y')
   eq_(eval(macrorules([[x, y], y, x])(prin(1), prin(2))), None) 
Esempio n. 17
0
 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)
Esempio n. 18
0
 def test2(self):
   x = Var('x')
   eq_(eval(macrorules([[x], x])(prin(1))), None) 
Esempio n. 19
0
 def test_closure2(self):
     x, f = Const('x'), Const('f')
     eq_(eval(let([(f, macrorules([[x], x])), (x, 1)], f(add(x, x)))), 2)
Esempio n. 20
0
 def test4(self):
   x = Var('x')
   eq_(eval(macrorules([[x], prin(x)])(add(1, 1))), None) 
Esempio n. 21
0
 def test1(self):
     eq_(eval(macrorules([[], prin(1)])()), None)
Esempio n. 22
0
 def test1(self):
   eq_(eval(macrorules([[], prin(1)])()), None)