`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

Reply via email to