What is your evaluation of the proposal?

In favor.

Overloading the meaning of “typealias” adds confusion to what is already a 
confusing feature of the language. The keyword “associatedtype” is much clearer 
— and much more searchable, helping newcomers to this feature discover the 
relevant documentation.

The words “associated type” are easily the best of any alternatives proposed. 
Others (“associated”, “type”, etc.) are all either too vague or too obtuse, and 
many are likely to cause identifier collisions. No other terminology mentioned 
in the discussion comes in even a close second for me.

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.

Regardless, I can happily accept “associatedtype.”


Is the problem being addressed significant enough to warrant a change to Swift?

Certainly. Associated types clearly are a point of confusion, and active 
evolution. Anything that clarifies their meaning is worth considering.


Does this proposal fit well with the feel and direction of Swift?

Swift’s other keywords tend to favor the transparently descriptive (mutating, 
didSet) over the jargon-y (const, volatile). This change fits that tendency.


If you have you used other languages or libraries with a similar feature, how 
do you feel that this proposal compares to those?

I haven’t, at least not enough to give useful insight..


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

I loosely followed the discussion thread.

Cheers,

Paul

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to