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
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution