特殊并集、交集和差集的操作符的arity与clojure.set中的arity不匹配。
|操作 |clojure.set|int-set|
| :-- | :-- | :-- | :-- |
|并集 | 0, 1, 2, n | 2 |
|交集 | 1, 2, n | 2 |
|差集 | 1, 2, n | 2 |
这阻止了将int-sets用作集合的替代品。
查看clojure.set的源代码,这些操作似乎是通过简单的reduce来实现的,而并集和交集则通过bubbled-sets(通过bubble-max-key)来实现。
这里可以使用类似的方法吗?我愿意为此工作。