On 10/5/2015 7:31 PM, Eric Niebler wrote:
> The design of the D ranges and algorithms owe quite a lot to C++, and I've
heard
> Andrei say as much.
D ranges owe plenty to C++ iterators and algorithms, no doubt. Boost ranges, I
can't agree.
> Stepanov did the hard work of defining common algorithms in
> terms of iterators of different strength. Given that starting point, ranges of
> different strength are an "obvious" next step that many people thought up
> independently. D took it one way and C++ went another.
It seems obvious in retrospect, I agree. But looking at the early Boost ranges,
they didn't take the obvious step :-)
> When designing my range library, I looked at all the prior art available to me
> including D ranges and decided D's path was not the right one for C++. My work
> is based on Boost.Range. I only posted here to clear up what appeared to me to
> be confusion about that.