std.algorithm.map with side-effects
Joseph Rushton Wakeling via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Dec 5 16:11:49 PST 2014
On 06/12/14 00:58, bearophile via Digitalmars-d-learn wrote:
> Joseph Rushton Wakeling:
>
>> Can anyone advise why,
>
> map is lazy, like most other ranges.
Ah, I see. That function would only be called on consumption of the results of
the map.
> Lazy higher order functions like map/filter should be used only with pure
> functions. There are bugs/troubles in using them on impure code.
Yes, I did wonder about that. I'll post up the actual code tomorrow -- I was
having some fun playing with one of the metrics in my Dgraph library and trying
to see to what extent I could simplify it (reading-wise) with a range-based
approach.
> There was a proposal for a "each" function to terminate a range chain with
> something effectful, but I think it has gone nowhere. This means you have to use
> a foreach on a range.
Yes, I remember you requesting that. Were there ever any PRs, or was it just spec?
More information about the Digitalmars-d-learn
mailing list