On Wednesday, 7 October 2015 at 15:39:03 UTC, Jonathan M Davis wrote:
Eager is far more general. Also, while the drop* functions are eager, the take* functions are not.

I don't recall the precise details of these particular ranges off the top of my head (away from computer so can't easily check), but one nasty little detail of supposedly lazy ranges is that they are often eager for the first element, lazy thereafter -- and even there it's subtly different from 'true' laziness inasmuch as the new values are generated at the point of popping rather than the point of access to the new front.

In most cases that's an implementation detail, but it gets _very_ interesting when the elements of your range are non-deterministic.

Reply via email to