Ping. What’s the latest on this proposal? Seems like a clear win to me. It seems the thread converged on a name if we want 2 versions of reduce. Should we simply replace the existing version so there’s only one?
Really wish this can get in Swift 4. > On Jan 25, 2017, at 1:06 AM, Chris Eidhof via swift-evolution > <[email protected]> wrote: > > I like it too! Thanks Pyry! Will change the proposal. > > On Wed, Jan 25, 2017 at 8:09 AM, David Hart via swift-evolution > <[email protected] <mailto:[email protected]>> wrote: > Yep, that's really good. > > On 25 Jan 2017, at 08:00, Jonathan Hull via swift-evolution > <[email protected] <mailto:[email protected]>> wrote: > >> +1 Best so far. >> >>> On Jan 24, 2017, at 10:36 AM, Pyry Jahkola via swift-evolution >>> <[email protected] <mailto:[email protected]>> wrote: >>> >>> >>> Freak Show wrote: >>> >>>> Am I the only one who finds this incredibly ugly and hard to read? >>>> >>>> This is more or less solved by inject:into: idiom. There is no reason for >>>> inout for this particular problem. >>> >>> Yeah, the original signature seems more useful. If you go all `inout` like >>> Gwendal suggested, you might as well just iterate over the sequence with >>> `for x in xs`, updating the state as you go. >>> >>> But your comment brought another idea to mind: if `mutating:` is considered >>> a bad name for a non-`inout` argument, how about `reduce(into:combine:)`, >>> similar to what Karl suggested earlier in this thread? >>> >>> I think it reads very well at the call site, does not suggest `inout`ness >>> of the argument too much (of course there's no `&` at the call site >>> either), and it's still easily found with auto-completion: >>> >>> let counts = words.reduce(into: [:]) { >>> $0[$1] = ($0[$1] ?? 0) + 1 >>> } >>> >>> — Pyry >>> _______________________________________________ >>> swift-evolution mailing list >>> [email protected] <mailto:[email protected]> >>> https://lists.swift.org/mailman/listinfo/swift-evolution >>> <https://lists.swift.org/mailman/listinfo/swift-evolution> >> >> _______________________________________________ >> swift-evolution mailing list >> [email protected] <mailto:[email protected]> >> https://lists.swift.org/mailman/listinfo/swift-evolution >> <https://lists.swift.org/mailman/listinfo/swift-evolution> > > _______________________________________________ > swift-evolution mailing list > [email protected] <mailto:[email protected]> > https://lists.swift.org/mailman/listinfo/swift-evolution > <https://lists.swift.org/mailman/listinfo/swift-evolution> > > > > > -- > Chris Eidhof > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
