On Wednesday, 19 March 2014 at 16:46:41 UTC, Dicebot wrote:
No, I don't mean iterate with predicate. I mean /dev/null thing.

My point is that `range.each!predicate` is much better replaced with `range.tap!predicate.consume`. It keeps general rule of range stuff being lazy and only single exception to bail out of it has very readable clear name.

One can argue that "consume" is same as proposed "each" with no-op predicate but I think it is very important for readability to keep exceptional behavior (eager consumption) separated from utility behavior (tapping with a predicate).

I also proposed this in the thread I linked, but it was also rejected. I remember Andrei saying that "consume" should really just be reduce called with no predicate, but I think that wouldn't work for some reason...

Reply via email to