> On Jan 16, 2017, at 5:49 AM, 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 
> <https://gist.github.com/chriseidhof/fd3e9aa621569752d1b04230f92969d7>
> 
> -- 
> Chris Eidhof
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution

+1

Instead of a filter reimplementation for the proposal, might be good to do 
something that doesn’t exist this would be useful for, like a version of Unix 
uniq that filters adjacent equal entries.


_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to