<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Reload and check please.&nbsp;<a href="https://gist.github.com/erica/03c398c06f6c47824429" class="">https://gist.github.com/erica/03c398c06f6c47824429</a><div class=""><br class=""></div><div class="">-- E</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Feb 28, 2016, at 9:55 AM, Curt Clifton &lt;<a href="mailto:curt@omnigroup.com" class="">curt@omnigroup.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class=""><div class=""><br class=""></div><div class=""><div class=""><br class=""><br class="">Cheers,<div class=""><br class=""></div><div class="">Curt</div><div class=""><br class=""></div></div>On Feb 27, 2016, at 10:03 PM, Erica Sadun via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""><br class=""></div><blockquote type="cite" class=""><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div class="">I've updated the proposal to take this into account:&nbsp;<a href="https://gist.github.com/erica/03c398c06f6c47824429" class="">https://gist.github.com/erica/03c398c06f6c47824429</a></div><div class=""><br class=""></div><div class="">It makes two core recommendations:</div><div class=""><br class=""></div><div class=""><div class="">1. Adjust stride function semantics to expand from two to three functions, renaming them appropriately.</div><div class="">2. Break floating point strides away from Strideable to provide their own stride method implementations.</div></div></div></blockquote><br class=""><div class="">I don't have a strong opinion on the proposal. These sorts of strides are rare in the problem domains I work in. I would like to nitpick the proposed documentation for the new stride(through:,by:). The revised proposal gives the new documentation as:</div><div class=""><br class=""></div><div class=""><blockquote style="box-sizing: border-box; margin: 0px 0px 16px; padding: 0px 15px; border-left-width: 4px; border-left-style: solid; border-left-color: rgb(221, 221, 221);" class=""><div style="box-sizing: border-box; margin-top: 0px; margin-bottom: 0px;" class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">A&nbsp;<code style="box-sizing: border-box; padding: 0.2em 0px; margin: 0px; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;" class="">Strideable through</code>&nbsp;sequence currently returns the sequence of values (<code style="box-sizing: border-box; padding: 0.2em 0px; margin: 0px; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;" class="">self</code>,&nbsp;<code style="box-sizing: border-box; padding: 0.2em 0px; margin: 0px; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;" class="">self + stride</code>,&nbsp;<code style="box-sizing: border-box; padding: 0.2em 0px; margin: 0px; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;" class="">self + stride + stride</code>, ...&nbsp;<em style="box-sizing: border-box;" class="">last</em>) where&nbsp;<em style="box-sizing: border-box;" class="">last</em>&nbsp;is the last value in the progression&nbsp;<strong style="box-sizing: border-box;" class="">greater than or equal to</strong>&nbsp;<code style="box-sizing: border-box; padding: 0.2em 0px; margin: 0px; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;" class="">end</code>. There is no guarantee that&nbsp;<code style="box-sizing: border-box; padding: 0.2em 0px; margin: 0px; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;" class="">end</code>&nbsp;is an element of the sequence.</span></div><div style="color: rgb(119, 119, 119); font-family: 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; -webkit-text-size-adjust: 100%; background-color: rgb(255, 255, 255);" class=""><br class=""></div></blockquote></div><div class=""><br class=""></div><div class="">That should read “where <i class="">last</i>&nbsp;is the **first** value in the progression that is <b class="">greater than or &nbsp;equal</b> to end.“ As proposed, <i class="">last</i>&nbsp;would be the largest number representable in self’s type that is a multiple of stride greater than self. That’s not the intent.</div><div class=""><br class=""></div><div class="">Cheers,&nbsp;</div><div class=""><br class=""></div><div class="">Curt</div><div class=""><br class=""></div><div class="">-------------------------</div><div class="">Curt Clifton, PhD&nbsp;</div><div class="">Software Developer&nbsp;</div><div class="">The Omni Group&nbsp;</div><div class=""><a href="http://www.curtclifton.net/" class="">www.curtclifton.net</a>&nbsp;</div></div></div></blockquote></div><br class=""></div></body></html>