Should combine be allowed to throw, thus forcing this method to rethrow? ------------ Begin Message ------------ Group: gmane.comp.lang.swift.evolution MsgID: <CAJiQnkQcyhZvRF=tgcs6h8chpqcbo4gpym63qmzbu4fw9s9...@mail.gmail.com>
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 > > ------------- End Message ------------- Sent from my iPad _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
