<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 Feb 21, 2017, at 3:05 PM, Howard Lovatt 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 class="">The re-review of SE-0104 "Protocol-oriented integers" begins now and runs through February&nbsp;25, 2017. This proposal was accepted for Swift 3, but was not implemented in time for the release. The revised proposal is available here:<br class=""><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" class="gmail_msg"><br class="gmail_msg"><span class="m_-2917819102280157209Apple-tab-span gmail_msg" style="white-space:pre-wrap">        </span><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0104-improved-integers.md" class="gmail_msg" target="_blank">https://github.com/apple/swift-evolution/blob/master/proposals/0104-improved-integers.md</a><br class="gmail_msg"><br class=""><div class="gmail_msg"><br class="gmail_msg"><div class="gmail_msg"><span class="m_-2917819102280157209Apple-tab-span gmail_msg" style="white-space:pre-wrap">        </span>• What is your evaluation of the proposal?</div></div></div></blockquote><div class=""><br class=""></div><div class="">Well worth while. Few nit picks:</div><div class=""><br class=""></div><div class=""><div class="">&nbsp; 1. Number.init? Description should say BinaryInteger not floating-point.</div></div></div></div></div></blockquote>I’ll update the proposal.</div><div><br class=""><blockquote type="cite" class=""><div class=""><div class=""><div class="gmail_quote"><div class=""><div class="">&nbsp; 2. Number should document that mutating versions of operators can overflow.</div><div class="">&nbsp; 3. SignedNumber should document that negate and unary `-` can overflow.</div></div></div></div></div></blockquote>Documentation changes noted. Thanks!</div><div><br class=""><blockquote type="cite" class=""><div class=""><div class=""><div class="gmail_quote"><div class=""><div class="">&nbsp; 4. SignedNumber, it is weird that `signum` is a function when other similar things, e.g. `magnitude`, are properties.</div></div></div></div></div></blockquote>I think of it as: magnitude is something the number ‘has’ whereas signum is a completely new thing of the same type.</div><div><br class=""><blockquote type="cite" class=""><div class=""><div class=""><div class="gmail_quote"><div class=""><div class="">&nbsp; 5. Not worth representing `DoubleWidth` as an enumeration, it is obscure and therefore will only confuse people.</div><div class="">&nbsp; 6. It would be better to put the 'extra' operations into the protocols and provide default implementations, otherwise they are difficult to find.&nbsp;</div></div></div></div></div></blockquote>They are defined as protocol extensions, therefore they should be discoverable through completion and in the generated source code. Or what do you mean by ‘difficult to find’?</div><div><br class=""></div><div>Thanks for the feedback!</div><div><br class=""><blockquote type="cite" class=""><div class=""><div class=""><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" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><span class="m_-2917819102280157209Apple-tab-span gmail_msg" style="white-space:pre-wrap">        </span>• Is the problem being addressed significant enough to warrant a change to Swift?</div></div></div></blockquote><div class=""><br class=""></div><div class="">Yes, the current design has not served my purpose on more than one occasion&nbsp;</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" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><span class="m_-2917819102280157209Apple-tab-span gmail_msg" style="white-space:pre-wrap">        </span>• Does this proposal fit well with the feel and direction of Swift?</div></div></div></blockquote><div class=""><br class=""></div><div class="">Yes</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" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><span class="m_-2917819102280157209Apple-tab-span gmail_msg" 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&nbsp;those?</div></div></div></blockquote><div class=""><br class=""></div><div class="">Yes, this proposal is similar to what other languages provide, e.g. Scala. In Scala however they tackle the `conversion problem as well in their `traits heirarchy. I guess this could be added at a later date.</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" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><span class="m_-2917819102280157209Apple-tab-span gmail_msg" 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?</div></div></div></blockquote><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" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"></div></div></div></blockquote><div class="">Read the proposal, have used similar features in other languages, and have had trouble with Swift's current heirarchy.&nbsp;</div></div></div><div dir="ltr" class="">-- <br class=""></div><div data-smartmail="gmail_signature" class="">-- Howard.</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>