def compile_impl(name, argsv, body, env): methname = "invoke" + str(count(argsv).int()) self = tr.Argument("self") args = {symbol(methname): self} trarg = [self] for x in range(count(argsv).int()): s = nth(argsv, integer(x)) args[s] = tr.Argument(s.repr()) trarg.append(args[s]) with merge_locals(env, args): expr = tr.Func(trarg, compile_do(body, env)) return [tr.Const(methname), expr]
def read_number(rdr, initch): from system.core import integer sb = [] sb.append(initch) while True: ch = rdr.read() if ch == "" or is_whitespace(ch) or is_macro(ch): rdr.back() break sb.append(ch) s = "".join(sb) n = integer(int(s)) return n
def test_count(self): lst = rt.list.invoke0() assert rt.count.invoke1(lst).int() == 0 lst = rt.list.invoke1(integer(1)) assert rt.count.invoke1(lst).int() == 1 lst = rt.list.invoke2(integer(2), integer(1)) assert rt.count.invoke1(lst).int() == 2 lst = rt.list.invoke3(integer(1), integer(3), integer(1)) assert rt.count.invoke1(lst).int() == 3
def persistent_array_count(self): return integer(len(self._data_w) / 2)
def persistent_array_vector_count(self): return integer(len(self.lst_w))
def persistent_list_count(self): return integer(self._count)
def run_benchmark(times): c = list.invoke_args([symbol(None, "+"), integer(2), integer(3)]) return eval(c).int()
def test_add(self): lst = rt.list.invoke_args([symbol(None, "+"), integer(1), integer(2)]) result = eval(lst) assertEqual(self, result, integer(3))
def test_int(self): result = eval(integer(1)) assertEqual(self, result, integer(1))