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

Max Moiseev moiseev at apple.com
Thu Jun 23 13:50:53 CDT 2016


Hi Félix,

> Do we lose the ability to create a signed integer from an unsigned bit pattern?

As I mentioned in one of the earlier replies, the proposal does not contain the full API diff.
`init(bitPattern:)` is very useful and will remain.

However, I don’t think it should be added to any of the protocols. Mostly because in order to do so we would need to introduce another associated type — for the signed/unsigned counterpart with the same width.
Can you think of an example where this feature would be useful in the generic code?

Max

> On Jun 22, 2016, at 11:23 PM, Félix Cloutier via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Do we lose the ability to create a signed integer from an unsigned bit pattern?
> 
> Is there a way to get an optional initializer that returns `nil` if the operand can't be represented?
> 
> What is the cost of heterogeneous comparison?
> 
> Félix
> 
>> Le 22 juin 2016 à 22:42:00, David Waite via swift-evolution <swift-evolution at swift.org> a écrit :
>> 
>> In addition to the technical review, I would like to point out that the definition of Arithmetic appears to be missing some underscores in add/adding/subtract/subtracting
>>> 
>>> 	https://github.com/apple/swift-evolution/blob/master/proposals/0104-improved-integers.md
>>> 
>>> 	* What is your evaluation of the proposal?
>> 
>> I’m so glad this work is being done!
>> 
>> For Integer, does the presence of signBit indicate an expectation that signed Integers will have a two's complement representation?
>> 
>> For FixedWidthInteger#dividedWithOverflow/remainderWithOverflow, under what situations would you have an overflow? I could only come up with something like Int.min.dividedWithOverflow(-1).
>> 
>>> 	* Is the problem being addressed significant enough to warrant a change to Swift?
>> 
>> Yes, oh yes.
>> 
>>> 	* Does this proposal fit well with the feel and direction of Swift?
>> 
>> It looks like a significant improvement. 
>> 
>>> 
>>> 	* How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
>> 
>> I combed the proposal for questions, although most were answered by the time I hit the end.
>> 
>> -DW
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution



More information about the swift-evolution mailing list