PROPOSAL: Add `disjoint` method to `Data.IntSet`

Tikhon Jelvis tikhon at
Tue Dec 19 18:01:01 UTC 2017

In practice, I hear people talking about "disjoint" sets all the time—it
comes up a lot more often than "overlapping" or "not overlapping". It might
have a negative in the name semantically, but it's used as an atomic word
in practice. (That is, when people say "disjoint" they're *thinking*
"disjoint" as opposed to "not joint" or "not overlapping".)

I'm in favor of naming functions with common usage in mind, and I think
"disjoint" is the word people use most often in this context.

On Tue, Dec 19, 2017 at 7:44 AM, Henning Thielemann <
lemming at> wrote:

> On Tue, 19 Dec 2017, Víctor López Juan wrote:
> I'm thinking that `disjoint` is already a negation:
>> (dis- (not) + joint (united)). When composing with `not`, the user gets
>> a double negation `not (disjoint x y)`. There is a then a small mental
>> effort required to go from "not disjoint" to "overlapping".
>> If we are going to have only one of the two properties, I would rather
>> have the positive one (`overlaps`) as primitive. Then `disjoint` would
>> be written "not (overlaps x y)", which reads quite easily.
>> (Or even "not (x `overlaps` y)").
> I also dislike double negation and think that 'disjoint' is one. I'd
> prefer to see both 'overlap' and 'disjoint'.
> _______________________________________________
> Libraries mailing list
> Libraries at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Libraries mailing list