def _merge__args(args): affirm(len(args) > 0, u"Merge takes at least one arg") x = 1 acc = args[0] for x in range(1, len(args)): acc = rt._reduce(acc, merge_fn, args[x]) return acc
def _reduce(self, f, init): assert isinstance(self, PersistentHashSet) return rt._reduce(rt.keys(self._map), f, init)
def write_vector(vec, wtr): write_tag(VECTOR, wtr) write_int_raw(rt.count(vec), wtr) rt._reduce(vec, WriteItem(wtr), nil)
def write_map(mp, wtr): write_tag(MAP, wtr) write_int_raw(rt.count(mp), wtr) rt._reduce(mp, WriteParirFn(wtr), nil)
def _reduce(self, f, init): assert isinstance(self, PersistentHashSet) return rt._reduce(rt.keys(self._map), f, init)
def _merge__args(args): affirm(len(args) > 0, u"Merge takes at least one arg") acc = args[0] for x in range(1, len(args)): acc = rt._reduce(args[x], merge_fn, acc) return acc
def write_vector(vec, wtr): write_tag(VECTOR, wtr) write_int_raw(rt.count(vec), wtr) rt._reduce(vec, WriteItem(wtr), nil)
def write_map(mp, wtr): write_tag(MAP, wtr) write_int_raw(rt.count(mp), wtr) rt._reduce(mp, WriteParirFn(wtr), nil)