[swift-evolution] Tuple accessor shorthand
Alexandre Lopoukhine
superlopuh at gmail.com
Fri Dec 18 09:30:57 CST 2015
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
More information about the swift-evolution
mailing list