[swift-evolution] [Review] Replace `typealias` keyword with `associatedtype` for associated type declarations
James Campbell
james at supmenow.com
Thu Jan 7 03:38:04 CST 2016
What about protocoltype ?
Sent from my iPhone
> On 6 Jan 2016, at 22:33, Ross O'Brien via swift-evolution <swift-evolution at swift.org> wrote:
>
> It seems no different to me than when "instancetype" was added to Objective C (though, that doesn't say anything for the 'Swiftiness' of it).
>
> Ross
>
>> On Wed, Jan 6, 2016 at 9:08 PM, Jacob Bandes-Storch via swift-evolution <swift-evolution at swift.org> wrote:
>> I'm sure we're just bikeshedding at this point, but...
>>
>> I find "typealias" and "fallthrough" much easier to read, and easier to write, than "associatedtype". Upon further in(tro)spection, I think I'm reading typealias and fallthrough as compound words, rather than multiple words with no separation, so there is no question that they should be all-lowercase.
>>
>> I find associatedtype harder to interpret as a compound word, so I'd expect some separation, either associated_type or associatedType. (I put some other suggestions that I like better in my previous email, though.)
>>
>> Jacob
>>
>>> On Wed, Jan 6, 2016 at 12:56 PM, Loïc Lecrenier <swift-evolution at swift.org> wrote:
>>> >
>>> > What about the all lower case “associatedtype”? The underscore alternative of “associated_type” breaks existing language precedent. The camel case version (“associatedType”) does have language precedent, and I wonder if it wouldn’t be a better choice:
>>> >
>>> > dynamicType
>>> > didSet
>>> > willSet
>>> >
>>> > However, there’s also precedent for making paired words all lowercase in keywords:
>>> >
>>> > typealias
>>> > fallthrough
>>> > deinit ←(debatable: could be considered single word or hyphenated)
>>> >
>>> > Perhaps keyword capitalization conventions deserve some attention across the board.
>>>
>>> I thought the rules were:
>>> - property/method: lowerCamelCase
>>> - language keyword: lowercase
>>>
>>> I consider
>>> - dynamicType as a property
>>> - didSet, willSet, deinit as methods.
>>> - typealias, fallthrough as language keywords
>>>
>>> And “associatedtype” would be a language keyword too, so it is lowercase 😊
>>>
>>> Loïc
>>> _______________________________________________
>>> 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
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160107/01917193/attachment.html>
More information about the swift-evolution
mailing list