> The review of "SE-0041: Updating Protocol Naming Conventions for Conversions" 
> begins now and runs through May 16. The proposal is available here:
>       
> https://github.com/apple/swift-evolution/blob/master/proposals/0041-conversion-protocol-conventions.md
>  
> <https://github.com/apple/swift-evolution/blob/master/proposals/0041-conversion-protocol-conventions.md>

>       * What is your evaluation of the proposal?
-1.

I’m not 100% sure on the names (can we paint the bike shed plaid?) but more 
importantly, I’m not sure the groupings are adequate

RawRepresentable seems to represent a sub-type declaring a super type coercion 
system.

The various literal-based initializers are not necessarily coercion operators - 
some operations (e.g. initializing a Set from a literal with repeating 
elements) are lossy. These initializers also are not given a mechanism to 
recover from failure (possibly because the literals mean that failure 
represents a precondition failure in the written code?). That would imply that 
these literal-based initializers are special - a non-literal needs 
failure-reporting semantics.

CustomStringRepresentable is not meant for any sort of type conversion. It 
returns a user presentation of the object as text (while the Debug variant is 
meant to return a developer presentation)

So I don’t feel these represent In, Out, and InOut but instead three different 
classifications of conversions.

>       * Is the problem being addressed significant enough to warrant a change 
> to Swift?
Now is a great time for naming consistency

>       * Does this proposal fit well with the feel and direction of Swift?
Future direction there may be another change if coercion is defined as a 
language feature (such as implicit numeric coercion)

>       * If you have used other languages or libraries with a similar feature, 
> how do you feel that this proposal compares to those?
I thought of Ruby and the difference between to_s and to_str.  The idea of a 
representation as a type vs coercion to a type is a hard one to learn.

>       * How much effort did you put into your review? A glance, a quick 
> reading, or an in-depth study?
A quick reading.

-DW
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to