[swift-evolution] Change subscripts to use colons

Jacob Bandes-Storch jtbandes at gmail.com
Mon Jul 11 00:27:15 CDT 2016


+1, seems right to me. The original email wasn't clear to me, but this
example is.

FWIW, as a user of the language I'd hope that throwing subscript
getters/setters would be written "set throws { ... }" and/or "set(newValue)
throws { ... }" rather than "throwing set { ... }", for consistency with
function bodies.

...and now that I'm thinking about it, I'm almost tempted to recommend
"subscript[_ example: Int]: Element". Is that too crazy?

Jacob

On Sun, Jul 10, 2016 at 4:18 PM, James Froggatt via swift-evolution <
swift-evolution at swift.org> wrote:

> Currently, the signature is:
> subscript(_ example: Int) -> Element {
>     get { … }
>     set { … }
> }
>
> The alternative, using a colon, would be:
> subscript(_ example: Int) : Element {
>     get { … }
>     set { … }
> }
>
> Sorry if that wasn't clear.
>
> This would be to better reflect the property-like nature of access.
>
> From James F
>
> On 10 Jul 2016, at 23:57, Brent Royal-Gordon <brent at architechies.com>
> wrote:
>
> >> On Jul 9, 2016, at 11:48 AM, James Froggatt via swift-evolution <
> swift-evolution at swift.org> wrote:
> >>
> >> Subscripts are a hybrid of properties and functions, since they have a
> parameter list, as well as getters and setters, so use of either symbol
> will be unusual in this case.
> >>
> >> However, I think a colon is more suitable, since it implies the
> possibility to set the value.
> >
> > Can you show us an example of the current syntax and your proposed
> replacement? I'm not sure what you actually mean by "use colons".
> >
> > --
> > Brent Royal-Gordon
> > Architechies
> >
> _______________________________________________
> 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/20160710/2515c2f3/attachment.html>


More information about the swift-evolution mailing list