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

Reply via email to