Yes I know what you are saying and I am suggesting changing that so that:<div><br></div><div><font size="2"><span style="background-color:rgba(255,255,255,0)"> (0 ... -9) and  (0 ..&lt; -10)</span></font></div><div><font size="2"><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.301961);"><br></span></font></div><div><font size="2"><span style="background-color:rgba(255,255,255,0)"></span><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.301961);">Are both empty ranges rather than errors because they implicitly have a &#39;by&#39; of 1. <span></span><br></span></font><br>On Wednesday, 6 April 2016, Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com">xiaodi.wu@gmail.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Howard, the point I am raising is that `0...(-9)` is not valid Swift because the first, &quot;lower&quot; bound is enforced to be less than the second, &quot;upper&quot; bound.<br><br>The problem is that with that restriction certain types of half-open intervals, namely those where the lower bound is the one being excluded, cannot be represented as a Range either currently or in Dave A&#39;s branch.<br><div class="gmail_quote"><div dir="ltr">On Tue, Apr 5, 2016 at 3:30 PM Howard Lovatt &lt;<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;howard.lovatt@gmail.com&#39;);" target="_blank">howard.lovatt@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I much prefer <font size="2"><span style="background-color:rgba(255,255,255,0)">(0 ... -9).by(-1) and  (0 ..&lt;<span></span> -10).by(-1)</span></font><br><br>On Wednesday, 6 April 2016, Dave Abrahams via swift-evolution &lt;<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;swift-evolution@swift.org&#39;);" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
on Tue Apr 05 2016, Xiaodi Wu &lt;<a href="http://xiaodi.wu-AT-gmail.com" target="_blank">xiaodi.wu-AT-gmail.com</a>&gt; wrote:<br>
<br>
&gt; On Mon, Apr 4, 2016 at 1:22 PM, Dave Abrahams &lt;<a>dabrahams@apple.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; on Sat Apr 02 2016, Xiaodi Wu &lt;<a href="http://xiaodi.wu-AT-gmail.com" target="_blank">xiaodi.wu-AT-gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; [snip]<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Not included:<br>
&gt;&gt;&gt; 1. I know Ranges are in flux, so I&#39;ve held off on extending Range with<br>
&gt;&gt;&gt; a striding(by:) method in this proof-of-concept.<br>
&gt;&gt;<br>
&gt;&gt; They&#39;re not in flux, except for not having been reviewed yet; they are<br>
&gt;&gt; settled in the swift-3-indexing-model branch.<br>
&gt;<br>
&gt; Did not know that. Will have to study what&#39;s there in more detail.<br>
&gt;<br>
&gt;&gt;&gt; 2. No attempt at the suggested stride(from:to:steps:) quite yet.<br>
&gt;&gt;<br>
&gt;&gt; #1 and #2 are mutually exclusive; we prefer #1 as it removes questions<br>
&gt;&gt; about the meaning of &quot;to&quot; or &quot;through.&quot;<br>
&gt;<br>
&gt; I wasn&#39;t aware that was the thinking. Limiting strides to<br>
&gt; `striding(by:)` removes the ability to express `stride(from: 0, to:<br>
&gt; -10, by: -1)`<br>
<br>
IMO this:<br>
<br>
  (-9...0).reverse()<br>
<br>
is better than<br>
<br>
  stride(from: 0, to: -10, by: -1)<br>
<br>
What do you think?<br>
<br>
--<br>
Dave<br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
_______________________________________________<br>
swift-evolution mailing list<br>
<a>swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote><br><br>-- <br>-- Howard.<br>
</blockquote></div>
</blockquote></div><br><br>-- <br>-- Howard.<br>