예제 #1
0
파일: testeval.py 프로젝트: charyorde/dao
 def testblock(self):
   f = Var('f')
   eq_(eval(block('foo', let([(f, lambda_((), exit_block('foo',1)))], 
                           mul(2,block('foo', f()))))), 
       1)
예제 #2
0
파일: testeval.py 프로젝트: charyorde/dao
 def testArithmetic(self):
   eq_(eval(add(1, 2)), 3) 
   eq_(eval(sub(1, 1)), 0)
   eq_(eval(mul(2, 2)), 4)
   eq_(eval(div(2, 2)), 1)
예제 #3
0
파일: testeval.py 프로젝트: charyorde/dao
 def testletrfac(self):
   eq_(eval(letr([(fac, lambda_([n], if_(eq(n,1), 1, mul(n, fac(sub(n, 1))))))],
                 fac(3))), 6)