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