[swift-evolution] [swift-evolution-announce] [Review] SE-0041: Updating Protocol Naming Conventions for Conversions

Matthew Johnson matthew at anandabits.com
Wed May 18 14:58:12 CDT 2016


> On May 18, 2016, at 1:52 PM, Brent Royal-Gordon <brent at architechies.com> wrote:
> 
>>> If we're doing this, I wonder if category 1 shouldn't just be `Convertible`. This would preserve our `LiteralConvertible` protocols with the same names (which, consistency issues aside, seem perfectly cromulent), while shifting the `StringConvertible` protocols over to the `Representable` category.
>> 
>> Do you really think 'Convertible' is more clear than 'Initializable'?
> 
> I don't think `Convertible` is clearer than `Initializable`, but I think it rolls off the tongue better, is easier to spell, is more compatible with non-initializer implementations, and in general wins on a lot of squishy, subjective, hard-to-define axes.
> 
> Subjectively, I've noticed that a lot of people *don't* think of things like `Double(myFloat)` as being initializers; they think of them as conversions. To those people, `Convertible` is probably the right name.

Thanks for elaborating.  I can see that perspective.  It does also have the advantage of being the smallest change from current state.

I certainly wouldn’t oppose this.  The most important thing IMO is that we agree on *something*.

> 
> -- 
> Brent Royal-Gordon
> Architechies
> 



More information about the swift-evolution mailing list