<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. <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 <<a href="mailto:curt@omnigroup.com" class="">curt@omnigroup.com</a>> 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 <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> 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: <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 <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> 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>, <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>, <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>, ... <em style="box-sizing: border-box;" class="">last</em>) where <em style="box-sizing: border-box;" class="">last</em> is the last value in the progression <strong style="box-sizing: border-box;" class="">greater than or equal to</strong> <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 <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> 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> is the **first** value in the progression that is <b class="">greater than or equal</b> to end.“ As proposed, <i class="">last</i> 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, </div><div class=""><br class=""></div><div class="">Curt</div><div class=""><br class=""></div><div class="">-------------------------</div><div class="">Curt Clifton, PhD </div><div class="">Software Developer </div><div class="">The Omni Group </div><div class=""><a href="http://www.curtclifton.net/" class="">www.curtclifton.net</a> </div></div></div></blockquote></div><br class=""></div></body></html>