[swift-evolution] protocol-oriented integers (take 2)

David Sweeris davesweeris at mac.com
Sun Jan 15 03:36:27 CST 2017


> On Jan 15, 2017, at 03:20, Xiaodi Wu via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Given that Arithmetic also provides for multiplication and division, might it be wise then also to have .multiplicativeIdentity (or .one)?
> 
>> On Sun, Jan 15, 2017 at 02:47 Dave Abrahams via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>> on Sat Jan 14 2017, Dave Abrahams <swift-evolution at swift.org> wrote:
>> 
>> > That said, the ability to interpret integer literals as an arbitrary
>> > Arithmetic isn't used anywhere in the standard library, so I'd like to
>> > consider undoing
>> > https://github.com/apple/swift/commit/de5b03ddc41be9c5ca5e15d5709eb2be069286c1
>> > and moving ExpressibleByIntegerLiteral down the protocol hierarchy to
>> > BinaryInteger.
>> 
>> Oh, and I meant to add: maybe the right way for an arbitrary X modeling
>> Arithmetic to spell zero (which is needed for negation) is something
>> like
>> 
>>    X.additiveIdentity
>> 
>> or
>> 
>>    X.zero
>> 
>> in other words, via a requirement
>> 
>>    static var theNameWeChoose: Self { get }

+1

- Dave Sweeris 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170115/4e8f259d/attachment.html>


More information about the swift-evolution mailing list