`reduceInout` On Tue, Jan 17, 2017 at 6:30 PM, Xiaodi Wu via swift-evolution < [email protected]> wrote:
> Agree. The functional style should keep the functional name. > > On Tue, Jan 17, 2017 at 16:18 David Sweeris via swift-evolution < > [email protected]> wrote: > >> >> On Jan 17, 2017, at 16:11, Karl Wagner via swift-evolution < >> [email protected]> wrote: >> >> >> On 17 Jan 2017, at 23:09, Karl Wagner <[email protected]> wrote: >> >> >> On 16 Jan 2017, at 14:49, Chris Eidhof via swift-evolution < >> [email protected]> wrote: >> >> Hi, >> >> How does everyone feel about adding a second version of `reduce` to >> `Sequence`? Instead of a `combine` function that's of type `(A, Element) -> >> A`, it would be `(inout A, Element) -> ()`. This way, we can write nice >> functionals algorithms, but have the benefits of inout (mutation within the >> function, and hopefully some copy eliminations). >> >> IIRC, Loïc Lecrenier first asked this on Twitter. I've been using it ever >> since, because it can really improve readability (the possible performance >> gain is nice, too). >> >> Here's `reduce` with an `inout` parameter, including a sample: >> https://gist.github.com/chriseidhof/fd3e9aa621569752d1b04230f92969d7 >> >> -- >> Chris Eidhof >> _______________________________________________ >> swift-evolution mailing list >> [email protected] >> https://lists.swift.org/mailman/listinfo/swift-evolution >> >> >> +1 >> >> I would even argue for it to be the default. >> >> >> I mean, assuming having two “reduce”s would stress the typechecker, as >> Joe suggested it might, I would say “inout” makes sense to be the default >> and the other one can find itself a new name. >> >> >> IIRC, the "reduce" name comes from functional programming... should the >> functional style keep the functional name? >> >> - Dave Sweeris >> _______________________________________________ >> 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
