[swift-evolution] [Review] SE-0104: Protocol-oriented integers

Max Moiseev moiseev at apple.com
Thu Jun 23 13:56:57 CDT 2016


Hi Xiaodi,

> Q2: I do not understand the comment explaining signBitIndex. I thought I understood what it does from the name, but the comment says it's not the right name. So what is signBitIndex?

The name is good but the way it is implemented in the prototype currently is NOT what the name suggests. This is the point of the comment. I plan to revisit the prototype and either make it behave the way it’s called, or find a better name for what it currently does.

> Ask: You've got bitWidth and nthWord. Any way you could expose __builtin_popcount()? Pretty please?
I don’t mind adding it to the concrete types, similar to `countLeadingZeros` (see https://github.com/apple/swift/blob/master/test/Prototypes/Integers.swift.gyb#L855). Do you think it should be a protocol requirement instead?


Max


> On Jun 22, 2016, at 6:13 PM, Xiaodi Wu via swift-evolution <swift-evolution at swift.org> wrote:
> 
> On Wed, Jun 22, 2016 at 7:52 PM, Chris Lattner via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
> Hello Swift community,
> 
> The review of "SE-0104: Protocol-oriented integers" begins now and runs through June 27. The proposal is available here:
> 
>         https://github.com/apple/swift-evolution/blob/master/proposals/0104-improved-integers.md <https://github.com/apple/swift-evolution/blob/master/proposals/0104-improved-integers.md>
> 
> Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at
> 
>         https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 
> or, if you would like to keep your feedback private, directly to the review manager.
> 
> What goes into a review?
> 
> The goal of the review process is to improve the proposal under review through constructive criticism and contribute to the direction of Swift. When writing your review, here are some questions you might want to answer in your review:
> 
>         * What is your evaluation of the proposal?
> 
> This is excellent, and a huge improvement. Two questions and one ask:
> 
> Q1: With the adoption of this proposal, will FloatingPoint conform to Arithmetic?
> Q2: I do not understand the comment explaining signBitIndex. I thought I understood what it does from the name, but the comment says it's not the right name. So what is signBitIndex?
> Ask: You've got bitWidth and nthWord. Any way you could expose __builtin_popcount()? Pretty please?
>  
>         * Is the problem being addressed significant enough to warrant a change to Swift?
> 
> Yes, the current tangle of protocols is not exactly fun to work with for generics.
>  
>         * Does this proposal fit well with the feel and direction of Swift?
> 
> Yes.
>  
>         * If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
> 
> Not applicable, I think.
>  
>         * How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
> 
> Read the proposal, worked with the existing protocols, thought carefully about numbers in the context of the FloatingPoint discussion.
> 
> 
> More information about the Swift evolution process is available at
> 
>         https://github.com/apple/swift-evolution/blob/master/process.md <https://github.com/apple/swift-evolution/blob/master/process.md>
> 
> Thank you,
> 
> -Chris Lattner
> Review Manager
> 
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160623/133b484e/attachment.html>


More information about the swift-evolution mailing list