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

Andreas Abel abela at chalmers.se
Tue Dec 19 23:45:28 UTC 2017


I am thinking along the lines of Tikhon.

Sets "overlap" is a rather uncommon term.  [If we were all 
constructivists, the situation would be different.  Constructively, 
"overlap" is certainly the primitive notion, and "disjoint" only its 
negation.]

We can't introduce a positive term for everything.  For instance, we all 
use

   not . null

rather than having predicates like "isCons", "inhabited" etc.

On 19.12.2017 19:01, Tikhon Jelvis wrote:
> 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 henning-thielemann.de <mailto:lemming at henning-thielemann.de>> 
> 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 haskell.org <mailto:Libraries at haskell.org>
>     http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>     <http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries>
> 
> 
> 
> 
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
> 


-- 
Andreas Abel  <><      Du bist der geliebte Mensch.

Department of Computer Science and Engineering
Chalmers and Gothenburg University, Sweden

andreas.abel at gu.se
http://www.cse.chalmers.se/~abela/


More information about the Libraries mailing list