<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=""><br class=""><div><blockquote type="cite" class=""><div class="">On 21 Jul 2017, at 17:11, Nevin Brackett-Rozinsky via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">The updates look fine and reasonable to me.<div class=""><br class=""></div><div class="">That said, I think it is highly important that we have clarity regarding what *is* the proper time, method, and process for raising issues with and suggesting modifications to approved proposals. If there is one thing we have learned recently it is that sometimes a proposed change sounds good and gets approved (110, 25, etc.) which subsequently turns out to have unintended detrimental consequences.</div><div class=""><br class=""></div><div class="">We are not infallible, and there will certainly be times in the future when we think a change is good in theory, but then after experiencing it in practice we recognize it has problems. When that happens—and happen it will—we need to be able to correct our course. And it is far better to fix such things before they are released to the wider world.</div><div class=""><br class=""></div><div class="">I don’t know if the issues Howard raises rise to that level. I haven’t tested out the new integer protocols, so I am not in a position to weigh the merits of the claim. Certainly in the abstract “signum” sounds like it is asking for a property of the number, and not asking the number to do something function-like, but I defer to those who use it in practice.</div><div class=""><br class=""></div><div class="">The point is, rather than shutting down discussion by saying “it has already been approved” and “this is not the place for discussing that”, it would greatly behoove the Swift Evolution process to have an established method for recommending changes to already-approved proposals. We have this time interval between when a proposal is accepted and when it appears in a public release of the language, and it seems only natural to use it as a beta-testing period.</div></div></div></blockquote><div><br class=""></div><div>I think it also important that we encourage people to participate and not drive them away. If we decide that a thread talking about revisions to a proposal is not the right place to discussion other grievances about the same proposal, perhaps a new thread is the right place.</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="">That way we can fix problems we encounter before they become permanent, and similarly we can make minor changes which are obvious improvements we somehow overlooked during the initial review.</div><div class=""><br class=""></div><div class="">Nevin</div><div class=""><br class=""></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Fri, Jul 21, 2017 at 7:50 AM, Xiaodi Wu via swift-evolution <span dir="ltr" class=""><<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I understand you feel this way, but this thread is a formal review of specific amendments to SE-0104. Those amendments are, again, the following:<br class=""><br class="">* Reorganizing shift operators<br class="">* Removing the ArithmeticOverflow type in favor of using a simple Bool<br class="">* Changing BinaryInteger's initializers that convert from floating point values<br class="">* Renaming BinaryInteger's init(extendingOrTruncating:)<br class=""><br class=""><div class="gmail_quote"><div class=""><div class="h5"><div dir="ltr" class="">On Fri, Jul 21, 2017 at 02:08 Haravikk via swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>> wrote:<br class=""></div></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=""><div class="h5"><div style="word-wrap:break-word" class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On 21 Jul 2017, at 02:01, Xiaodi Wu via swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>> wrote:</div><br class="m_-1249778600790985709m_1929092913309989426Apple-interchange-newline"><div class="">Hi Howard,<br class=""><br class="">The removal of BitwiseOperations is not under review here; that, like signum(), has been considered twice and approved twice, and has not been revised.<br class=""><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Thu, Jul 20, 2017 at 19:36 Howard Lovatt via swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class="">The revised version of the proposal can be found here:</div><div class=""><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0104-improved-integers.md" target="_blank" class="">https://github.com/apple/<wbr class="">swift-evolution/blob/master/<wbr class="">proposals/0104-improved-<wbr class="">integers.md</a></div><div class=""><br class=""></div><div class=""><span class="m_-1249778600790985709m_1929092913309989426m_2994816141908992432m_1574666041005850135Apple-tab-span" style="white-space:pre-wrap">        </span>• What is your evaluation of the proposal?<br class=""></div></div></blockquote></div></div></div><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class=""></div></blockquote><div class=""><br class=""></div><div class="">Overall +1. Two reservations:</div><div class=""><br class=""></div><div class=""> 1. Functions like `signum()` that return a property would read better as a property!</div><div class=""> 2. I have found `BitwiseOperations` useful as an extension to both Bool and Set and for a custom set type. Therefore would prefer its retention and even more preferably that Bool and Set implement it.</div></div></div></div><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""><br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><span class="m_-1249778600790985709m_1929092913309989426m_2994816141908992432m_1574666041005850135Apple-tab-span" style="white-space:pre-wrap">        </span>• Is the problem being addressed significant enough to warrant a change to Swift?<br class=""></div></div></blockquote><div class=""><br class=""></div></div></div></div><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class="">Yes, generic representation of integers is useful.</div></div></div></div><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><span class="m_-1249778600790985709m_1929092913309989426m_2994816141908992432m_1574666041005850135Apple-tab-span" style="white-space:pre-wrap">        </span>• Does this proposal fit well with the feel and direction of Swift?<br class=""></div></div></blockquote><div class=""><br class=""></div></div></div></div><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class="">Yes, particularly the re-arrangment of the protocol hierarchy is in keeping with the rest of the restructuring of the standard library.</div></div></div></div><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><span class="m_-1249778600790985709m_1929092913309989426m_2994816141908992432m_1574666041005850135Apple-tab-span" style="white-space:pre-wrap">        </span>• If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?<br class=""></div></div></blockquote><div class=""><br class=""></div></div></div></div><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class="">Yes, many languages I use allow generic numeric functions to be written and I write my own numeric functions and will therefore use these protocols.</div></div></div></div><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><span class="m_-1249778600790985709m_1929092913309989426m_2994816141908992432m_1574666041005850135Apple-tab-span" style="white-space:pre-wrap">        </span>• How much effort did you put into your review? A glance, a quick reading, or an in-depth study?<br class=""></div></div></blockquote><div class=""><br class=""></div></div></div></div><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class="">Quick read, but have pulled my hair out trying to write generic stuff in Swift as it stands now.</div></div></div></div></blockquote></div></div></blockquote><br class=""></div></div><div style="word-wrap:break-word" class=""><div class="">I agree with Howard on both points; In particular I've never agreed with the removal of BitwiseOperations, and believe it to be a mistake. What's the point of making Integers more protocol-oriented if you then go about getting rid of useful protocols?</div></div></div></div><span class="">______________________________<wbr class="">_________________<br class="">
swift-evolution mailing list<br class="">
<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank" class="">https://lists.swift.org/<wbr class="">mailman/listinfo/swift-<wbr class="">evolution</a><br class="">
</span></blockquote></div>
<br class="">______________________________<wbr class="">_________________<br class="">
swift-evolution mailing list<br class="">
<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank" class="">https://lists.swift.org/<wbr class="">mailman/listinfo/swift-<wbr class="">evolution</a><br class="">
<br class=""></blockquote></div><br class=""></div>
_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class=""></div></blockquote></div><br class=""></body></html>