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]> wrote:
> Yep, that's really good. > > On 25 Jan 2017, at 08:00, Jonathan Hull via swift-evolution < > [email protected]> wrote: > > +1 Best so far. > > On Jan 24, 2017, at 10:36 AM, Pyry Jahkola via swift-evolution < > [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] > https://lists.swift.org/mailman/listinfo/swift-evolution > > > _______________________________________________ > 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 > > -- Chris Eidhof
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
