[swift-evolution] Tuple accessor shorthand
Matthew Johnson
matthew at anandabits.com
Fri Dec 18 09:34:57 CST 2015
This is already possible today. You just need to write overloads for tuples of up to n members. Are you asking for this to be a library feature?
> On Dec 18, 2015, at 9:30 AM, Alexandre Lopoukhine via swift-evolution <swift-evolution at swift.org> wrote:
>
> Hello everyone,
>
> To tie into the discussion of shorthands for “map", here’s something that I think is worth considering:
>
> Skipping the motivation (mostly, I’m on a mission to eliminate the $ character in my functional code), here’s a function definition:
>
> func first<A,B>(tuple: (A,B)) -> A {
> return tuple.0
> }
>
> Having functions like this transforms
>
> pairArray.map({$0.0})
>
> into
>
> pairArray.map(first)
>
> This is not ideal, as it pollutes the global space, and there would need to be tons of those for various tuple sizes.
>
> Here’s an alternative:
>
> pairArray.map(().0)
>
> I think that this makes the intent pretty clear, as well as non-conflicting with anything in the language.
>
> What do you all think?
>
> — Sasha
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
More information about the swift-evolution
mailing list