<div dir="ltr">On Tue, Mar 5, 2013 at 8:15 AM, David Bruant <span dir="ltr"><<a href="mailto:bruant.d@gmail.com" target="_blank">bruant.d@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><div dir="ltr"><div class="gmail_extra">
<div class="gmail_quote"><div class="im">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I agree on the need but forsee problems with parametrized equivalence operator [1][2] like "which comparator should be used for the union of 2 sets with different comparators?"<br>

</blockquote><div><br></div></div><div>I vote TypeError. If I really do intend to mix two incompatible Sets, I can go ahead and write it longhand, which is what, 3 lines? 2 with set.addAll(iterable).<br><br></div><div class="im">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

The need for set intersection/union/minus/etc. feels more important than the need to parametrized the comparator.<br></blockquote><div><br></div></div><div>Not sure why this distinction matters, but I feel the opposite. You can very easily and naturally write intersection/union/minus/etc. based on the primitives already in the spec. Not so with custom equivalence! And keys that are pairs or small records are a very common need.<br>

</div><div><br></div><div>Intersection et al are easier but much less important.<span class="HOEnZb"><font color="#888888"><br></font></span></div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-j<br></div>
</font></span></div></div></div>
</div><br></div>