[swift-evolution] [swift-evolution-announce] [Review] SE-0041: Updating Protocol Naming Conventions for Conversions
Pyry Jahkola
pyry.jahkola at iki.fi
Wed May 18 14:34:23 CDT 2016
> On 18 May 2016, Brent Royal-Gordon wrote:
>
> 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.
Isn't it odd that we use four different terms for both kinds of String conversions that we have?
A1: extension Foo : CustomStringConvertible // proposed: CustomStringRepresentable
A2: foo.description
A3: String(foo) // or `String(printing: foo)` if SE-0089 gets accepted
A4: print(foo)
B1: extension Foo : CustomDebugStringConvertible // proposed: CustomDebugStringRepresentable
B2: foo.debugDescription
B3: String(reflecting: foo)
B4: debugPrint(foo)
I don't have great suggestions but wouldn't it be better to move the naming of cases 1 & 2 towards the words used in cases 3 & 4?
— Pyry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160518/6da456ef/attachment.html>
More information about the swift-evolution
mailing list