<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><span style="background-color: rgba(255, 255, 255, 0);">I agree that the proposed name is a poor choice.&nbsp;</span>If we just focus on the naming part, there is precedent in other languages for the name “sequenceEqual”. I think that name makes it a bit clearer that the result is whether the sequences match pair wise rather than whether they have the same elements irrespective of order. I don’t think it entirely solves the problem, but I like it a lot better than the proposed name.<br><br><div id="AppleMailSignature">--<div>Adam Kemp</div></div><div><br>On Oct 12, 2017, at 9:57 PM, Kevin Nattinger via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><meta http-equiv="Content-Type" content="text/html charset=utf-8"><div class="">–∞</div><div class=""><br class=""></div>1. I strongly object to the proposed name. It doesn't make it more clear to me what the method does, and is misleading at best. Among other issues, "lexicographical" is defined as alphabet order, and (1) this method applies to objects that are not Strings, and (2) this method's behavior isn't any more well-defined for Strings, so that name is even more of a lie than the original.<div class=""><br class=""><div class="">2. This is really just a symptom of a bigger problem. The fact that two Sets can compare equal and yet return different results for that method (among too many others) is logically inconsistent and points to a much deeper issue with Set and Sequence. It is probably about 3 releases too late to get this straightened out properly, but I'll outline the real issue in case someone has an idea for fixing it.</div><div class=""><br class=""></div><div class=""><b class="">The root of the problem&nbsp;is&nbsp;that&nbsp;Set conforms to Sequence, but Sequence doesn't require a well-defined order.</b> Since Set doesn't have a well-defined order, a significant portion of its&nbsp;interface&nbsp;is unspecified. The methods are implemented because they have to be, but they doesn't have well-defined or necessarily consistent results.<br class=""><br class="">A sequence&nbsp;is, by definition,&nbsp;ordered. That&nbsp;is&nbsp;reflected&nbsp;in&nbsp;the fact that over half the methods&nbsp;in&nbsp;the main Sequence definition*&nbsp;make no sense and are not well-defined unless there&nbsp;is&nbsp;a&nbsp;well-defined order to the sequence itself. What does it even mean to `dropFirst()`&nbsp;in&nbsp;a&nbsp;Set? The fact that two objects that compare equal can give different results&nbsp;for&nbsp;a&nbsp;100%&nbsp;deterministic function is illogical, nonsensical, and dangerous.</div><div class=""><br class=""></div><div class="">*&nbsp;7/12&nbsp;by my count, ignoring `_*` funcs but&nbsp;including the `var`<br class=""><br class="">The current contents of Sequence can be cleanly divided into two groups; those that&nbsp;return&nbsp;SubSequence imply a specific ordering, and the rest&nbsp;do&nbsp;not.</div><div class=""><br class=""></div><div class="">&nbsp;I think those&nbsp;should be/should&nbsp;have been two separate protocols:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(233, 175, 205); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">public</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures" class="">protocol</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">Iterable</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> {</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(52, 188, 38); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">&nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #cd7923" class="">associatedtype</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> Iterator</span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">:</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures" class="">IteratorProtocol</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(130, 185, 255); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">&nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">func</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">map</span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">&lt;</span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">T</span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">&gt;</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">(</span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">...</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">) </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">-&gt;</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">[</span><span style="font-variant-ligatures: no-common-ligatures; color: #34bc26" class="">T</span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">]</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures" class="">// Iterable where .Iterator.Element == T</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(130, 185, 255); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">&nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">func</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">filter</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">(</span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">...</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">) </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">-&gt;</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">[</span><span style="font-variant-ligatures: no-common-ligatures; color: #34bc26" class="">Iterator.Element</span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">]</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures" class="">// Iterable where .Iterator.Element == Self.Iterator.Element</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(52, 187, 200); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">&nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">func</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures" class="">forEach</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">(</span><span style="font-variant-ligatures: no-common-ligatures" class="">...</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">)</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(52, 187, 200); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">&nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">func</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures" class="">makeIterator</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">() </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">-&gt;</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bc26" class="">Iterator</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(52, 187, 200); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">&nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">var</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures" class="">underestimatedCount</span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">:</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bc26" class="">Int</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> { </span><span style="font-variant-ligatures: no-common-ligatures; color: #cd7923" class="">get</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> }</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(214, 214, 214); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">}</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(214, 214, 214); background-color: rgba(0, 0, 0, 0.901961); min-height: 14px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""></span><br class=""></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(130, 185, 255); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">public</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">protocol</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">Sequence</span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">:</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bc26" class="">Iterable</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> { </span><span style="font-variant-ligatures: no-common-ligatures" class="">// Maybe OrderedSequence just to make the well-defined-order requirement explicit</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(214, 214, 214); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #cd7923" class="">associatedtype</span><span style="font-variant-ligatures: no-common-ligatures" class=""> SubSequence</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(130, 185, 255); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">&nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">func</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">dropFirst</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">(</span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">...</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">) &nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">-&gt;</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bc26" class="">SubSequence</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> &nbsp; </span><span style="font-variant-ligatures: no-common-ligatures" class="">// Sequence where .Iterator.Element == Self.Iterator.Element</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(214, 214, 214); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">func</span><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">dropLast</span><span style="font-variant-ligatures: no-common-ligatures" class="">(</span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">...</span><span style="font-variant-ligatures: no-common-ligatures" class="">)&nbsp; &nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">-&gt;</span><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bc26" class="">SubSequence</span><span style="font-variant-ligatures: no-common-ligatures" class=""> &nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #82b9ff" class="">//&nbsp; &nbsp; " "</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(214, 214, 214); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">func</span><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">drop</span><span style="font-variant-ligatures: no-common-ligatures" class="">(</span><span style="font-variant-ligatures: no-common-ligatures; color: #cd7923" class="">while</span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">...</span><span style="font-variant-ligatures: no-common-ligatures" class="">) &nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">-&gt;</span><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bc26" class="">SubSequence</span><span style="font-variant-ligatures: no-common-ligatures" class=""> &nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #82b9ff" class="">//&nbsp; &nbsp; " "</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(214, 214, 214); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">func</span><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">prefix</span><span style="font-variant-ligatures: no-common-ligatures" class="">(</span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">...</span><span style="font-variant-ligatures: no-common-ligatures" class="">)&nbsp; &nbsp; &nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">-&gt;</span><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bc26" class="">SubSequence</span><span style="font-variant-ligatures: no-common-ligatures" class=""> &nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #82b9ff" class="">//&nbsp; &nbsp; " "</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(52, 188, 38); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">&nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">func</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">prefix</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">(</span><span style="font-variant-ligatures: no-common-ligatures; color: #cd7923" class="">while</span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">...</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">) </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">-&gt;</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures" class="">SubSequence</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> &nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #82b9ff" class="">//&nbsp; &nbsp; " "</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(214, 214, 214); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">func</span><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">suffix</span><span style="font-variant-ligatures: no-common-ligatures" class="">(</span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">...</span><span style="font-variant-ligatures: no-common-ligatures" class="">)&nbsp; &nbsp; &nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">-&gt;</span><span style="font-variant-ligatures: no-common-ligatures" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bc26" class="">SubSequence</span><span style="font-variant-ligatures: no-common-ligatures" class=""> &nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #82b9ff" class="">//&nbsp; &nbsp; " "</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(130, 185, 255); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">&nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: #e9afcd" class="">func</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc8" class="">split</span><span style="font-variant-ligatures: no-common-ligatures; color: #d6d6d6" class="">(</span><span style="color: rgb(52, 187, 200);" class="">...</span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(205, 121, 35);" class="">where</span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(52, 187, 200);" class="">...</span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(214, 214, 214);" class="">)&nbsp; </span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(233, 175, 205);" class="">-&gt;</span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(214, 214, 214);" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(233, 175, 205);" class="">[</span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(52, 188, 38);" class="">SubSequence</span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(233, 175, 205);" class="">]</span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(214, 214, 214);" class=""> </span><span style="font-variant-ligatures: no-common-ligatures;" class="">// Iterable where .Iterator.Element == (Sequence where .Iterator.Element == Self.Iterator.Element)</span></div><div style="margin: 0px; line-height: normal; font-family: 'Andale Mono'; color: rgb(214, 214, 214); background-color: rgba(0, 0, 0, 0.901961);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">}</span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">(The comments, of course, would be more sensible types once the ideas can actually be expressed&nbsp;in&nbsp;Swift)<br class=""><br class="">Then unordered collections (Set and Dictionary) would just conform to Iterable and not Sequence, so ALL the methods on those classes would make logical sense and have&nbsp;well-defined behavior; no change would be needed&nbsp;for&nbsp;ordered collections.<br class=""><br class="">Now, the practical matter. If this were Swift&nbsp;1-&gt;2&nbsp;or&nbsp;2-&gt;3, I doubt there would be a significant issue with actually making this change. Unfortunately, we're well beyond&nbsp;that and making a change this deep&nbsp;is&nbsp;an&nbsp;enormous deal. So I see two ways forward.<br class=""><br class="">1. We could go ahead and make this separation. Although it's a potentially large breaking change, I would argue that because the methods are ill-defined anyway, the&nbsp;breakage&nbsp;is&nbsp;justified&nbsp;and a net benefit.<br class=""><br class="">2. We could&nbsp;try&nbsp;and think of a way to make the distinction between ordered and unordered&nbsp;"sequences"&nbsp;in&nbsp;a less-breaking manner. Unfortunately, I don't have a good&nbsp;suggestion&nbsp;for&nbsp;this, but&nbsp;if&nbsp;anyone has ideas, I'm all ears. Or eyes,&nbsp;as&nbsp;the&nbsp;case&nbsp;may be.<br class=""><br class=""></span></div><br class=""></div><div class=""><div><blockquote type="cite" class=""><div class="">On Oct 12, 2017, at 4:24 PM, Xiaodi Wu via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><h1 class="">Rename <code class="">Sequence.elementsEqual</code></h1>
<ul class=""><li class="">Proposal: <a href="https://gist.github.com/xwu/NNNN-rename-elements-equal.md" class="">SE-NNNN</a></li><li class="">Authors: <a href="https://github.com/xwu" class="">Xiaodi Wu</a></li><li class="">Review Manager: TBD</li><li class="">Status: <strong class="">Awaiting review</strong></li></ul><h2 class=""><a href="https://gist.github.com/xwu/1f0ef4e18a7f321f22ca65a2f56772f6#introduction" class="gmail-anchor" id="gmail-user-content-introduction"></a>Introduction</h2><p class="">The current behavior of <code class="">Sequence.elementsEqual</code> is 
potentially confusing to users given its name. Having surveyed the 
alternative solutions to this problem, it is proposed that the method be
 renamed to <code class="">Sequence.lexicographicallyEquals</code>.</p><div class="">[...]</div></div></div></blockquote></div></div></div></div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>swift-evolution mailing list</span><br><span><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a></span><br><span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br></div></blockquote></body></html>