[swift-evolution-announce] [Accepted] SE-0104: Protocol-oriented integers

Joe Groff jgroff at apple.com
Wed Mar 1 18:50:10 CST 2017


Proposal link: https://github.com/apple/swift-evolution/blob/master/proposals/0104-improved-integers.md

The re-review of SE-0104 ran from February 17...25, 2017. The proposal is accepted with the following revisions:

- The root `Number` protocol should be renamed `Numeric`.
- Instead of using single-case enums as mock trailing argument labels, the `FullWidth` and `ReportingOverflow` variants should include that information in their basename:

	multipliedFullWidth(by:)
	dividingFullWidth(_:)

	addingReportingOverflow(_:)
	subtractingReportingOverflow(_:)
	multipliedReportingOverflow(by:)
	dividedReportingOverflow(by:)

- `popcount` should use the unabbreviated name `populationCount`.

The core team also observed that the proposed endianness-handling interfaces deserve further thought. In almost every known little-, big-, or mixed-endian format, converting to and from another endian are symmetric operations (going to and from big endian are the same operation, as are going to and from little endian), so there is no need for both sets of operations to be independent protocol requirements. The core team accepts the proposal as is for now, since it's a small corner of the larger proposal, but asks the authors for a follow-up proposal in this space.

-Joe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution-announce/attachments/20170301/7badb44e/attachment.html>


More information about the swift-evolution-announce mailing list