[swift-evolution] [Review] SE-0080: Failable Numeric Conversion Initializers

Matthew Johnson matthew at anandabits.com
Wed May 4 09:36:54 CDT 2016


> On May 3, 2016, at 11:19 PM, Charles Srstka via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Is the proposal to add these initializers to protocols like IntegerType, or just to individually add them to each of the numeric types? It’s unclear from the proposal, but in case that question hasn’t been decided yet, I’d like to vote for putting them in the protocols. It’s bugged me for a while that IntegerType doesn’t contain any of the existing initializers, even though every single type that conforms to it contains them, and even though FloatingPointType also contains them. Having support for these initializers in the protocol lets you do things like initialize generalized integer types in generic functions, which can be handy sometimes.

This proposal was written quite a while ago.  It does not discuss the numeric protocols partly because I knew they were going to be revised and partly because I wanted to keep the proposal as lean as possible.  

I agree that having support for these initializers included in the standard numeric protocols would be great.  The best path, since review has started, is probably to accept this proposal as-is.  Adding the implementations to the types themselves is necessary if the types are going to conform to a protocol that includes these initializers.  The upcoming Integer protocol proposal could incorporate them if desired, along with a tweak to include them in the new FloatingPoint protocol as well.  On the other hand, I would be happy to update the proposal, but could only reference the new FloatingPoint protocol, not the upcoming Integer protocol.


> 
> Charles
> 
>> On May 3, 2016, at 10:57 PM, Chris Lattner via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>> Hello Swift community,
>> 
>> The review of "SE-0080: Failable Numeric Conversion Initializers" begins now and runs through May 9. The proposal is available here:
>> 
>> 	https://github.com/apple/swift-evolution/blob/master/proposals/0080-failable-numeric-initializers.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
>> 
>> 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?
>> 	* Is the problem being addressed significant enough to warrant a change to Swift?
>> 	* Does this proposal fit well with the feel and direction of Swift?
>> 	* If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
>> 	* How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
>> 
>> More information about the Swift evolution process is available at
>> 
>> 	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
>> 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