<div>The re-review of SE-0104 &quot;Protocol-oriented integers&quot; begins now and runs through February 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><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><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><br></div><div>Well worth while. Few nit picks:</div><div><br></div><div><div>  1. Number.init? Description should say BinaryInteger not floating-point.</div><div>  2. Number should document that mutating versions of operators can overflow.</div><div>  3. SignedNumber should document that negate and unary `-` can overflow.</div><div>  4. SignedNumber, it is weird that `signum` is a function when other similar things, e.g. `magnitude`, are properties.</div><div>  5. Not worth representing `DoubleWidth` as an enumeration, it is obscure and therefore will only confuse people.</div><div>  6. It would be better to put the &#39;extra&#39; operations into the protocols and provide default implementations, otherwise they are difficult to find. </div></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>• Is the problem being addressed significant enough to warrant a change to Swift?</div></div></div></blockquote><div><br></div><div>Yes, the current design has not served my purpose on more than one occasion </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><br></div><div>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 those?</div></div></div></blockquote><div><br></div><div>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><br></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>Read the proposal, have used similar features in other languages, and have had trouble with Swift&#39;s current heirarchy. </div></div></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature">-- Howard.</div>