Proposal: SuperSet

Oğuz Kılıç oguzz.kilic at gmail.com
Tue Jul 9 20:17:48 UTC 2019

```Yes, I already consider it as an enriched version of the current set
method, I just like calling it superset :)

On Tue, Jul 9, 2019 at 11:05 PM Григорий Карелин <grundiss at gmail.com> wrote:

> Maybe add those methods into Set instead of creating new type?
>
> On Tue, 9 Jul 2019 at 23:02, Oğuz Kılıç <oguzz.kilic at gmail.com> wrote:
>
>> As you know, the current Set feature is not sufficient in some aspects.
>> We benefit from utility libraries or special implementations to fill this
>> deficiency.
>>
>> For example, wouldn’t it be better if we had the following approach?
>>
>> UNION
>>
>> X ∪ Y = { x | x ∈ X or x ∈ Y }
>>
>> let first = new SuperSet(["a", "b", "c"]);
>> let second = new SuperSet(["b", "c", "d", "e"]);
>>
>> first.union(second); //→ SuperSet { "a", "b", "c", "d", "e" }
>>
>> DIFFERENCE
>>
>> X - Y = { x | x ∈ X and x ∉ Y }
>>
>> let nums = new SuperSet([3, 4, 5, 6]);
>> let primes = new SuperSet([2, 3, 5, 7]);
>>
>> nums.diff(primes); // → SuperSet { 4, 6 }
>>
>> INTERSECT
>>
>> X ∩ Y = { x | x ∈ X and x ∈ Y }
>>
>> let nums = new SuperSet([3, 4, 5, 6]);
>> let primes = new SuperSet([2, 3, 5, 7]);
>> nums.intersect(primes); // → SuperSet { 3, 5 }
>>
>>
>> let nums = new SuperSet([1, 2, 3, 4]);
>> nums.discard([1, 3]); // → SuperSet { 2, 4 }
>>
>> Motivation
>> SuperSet - https://github.com/BYK/superset
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>>
> --
> Отправлено с мобильного устройства
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20190709/d35a3438/attachment-0001.html>
```