> On 20 Jul 2016, Chris Lattner wrote:
>
> The review of "SE-0122: Use colons for subscript declarations " begins now
> and runs through July 24. The proposal is available here:
>
>
> https://github.com/apple/swift-evolution/blob/master/proposals/0122-use-colons-for-subscript-type-declarations.md
>
> * What is your evaluation of the proposal?
I'm mildly in favour because I think (settable) subscripts are more similar to
properties than functions. But is this change worth having in Swift 3? I'm a
bit surprised it's discussed this late in the cycle.
Here are some considerations on the topic:
1. If we bring colons in, why not change the parentheses into brackets too?
Like so:
public subscript[index: Int]: Element
2. If we change the arrows into colons but then later choose to make throwing
subscripts possible, how could that be still done? Probable answer: by adding
the `throws` specifier to the getter or setter as needed.
3. Do we want to address the fact that – unlike functions – subscript arguments
currently have implicitly blank external names, i.e. that `subscript(at: Int)`
and `subscript(_ at: Int)` are equivalent? I don't think we do; but if that's
the case then it's probably a good idea to also make the declaration syntax
less alike with functions. So that would be a small argument in favour of
SE-0122.
> * Is the problem being addressed significant enough to warrant a change
> to Swift?
Probably not at this stage. I think this change could be introduced even
post-Swift 3, although that would then require maintaining both syntaxes for an
extended period of time.
> * Does this proposal fit well with the feel and direction of Swift?
I think so.
> * If you have used other languages or libraries with a similar feature,
> how do you feel that this proposal compares to those?
N/A
> * How much effort did you put into your review? A glance, a quick
> reading, or an in-depth study?
A quick reading.
— Pyry
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution