[swift-evolution] zip3, zip4, ...
Jacob Bandes-Storch
jtbandes at gmail.com
Sun Dec 6 17:01:18 CST 2015
zip2 (aka "zip") is present in Swift. zip3 is often useful, but not
built-in.
It can be achieved by using multiple copies of zip2:
for (one, (two, three)) in zip(list1, zip(list2, list3)) ...
It seems like either of these could make sense:
- Put some reasonable number of implementations, like zip2...zip10, in the
standard library, using gyb.
- Have the compiler generate them on the fly as requested by the user.
Or, some alternate approaches:
- Don't do this right now, but count it as motivation for a macro system.
- Consider making Swift's pattern-matching system extensible, which might
allow custom array-based patterns, like "for [one, two, three] in
zip(list1, list2, list3)". (I've been thinking of writing a proposal for
this anyway.)
Does anyone else care about zip3-and-higher? How do these options sound?
Jacob Bandes-Storch
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20151206/3955d001/attachment.html>
More information about the swift-evolution
mailing list