如果 merge 使用 transient 会更好。
补丁
- clj-1458-7.patch
方法
在 core 中迁移 c.c/merge,在 transient 和 reduce 之后。保留旧版本作为 merge1,用于支持旧的定义。让 APersistentMap/conj 和 ATransientMap/cons 意识到 IKVReduce。
附带补丁保留了 merge 的两种现有行为
- 元数据传播
- 合并的右侧可以是 Map.Entry、大小为 2 的 IPersistentVector 和常规映射。
已筛选