On 8/20/2013 11:17 AM, Joseph Rushton Wakeling wrote:
On 20/08/13 19:47, Walter Bright wrote:
This style of programming has been around at least since the Unix "pipes and
filters" model. It also appears as C#'s LINQ programming style.

However, LINQ and Clojure were not direct influences on D's ranges.

Since Clojure is more recent than D, and AFAICT its sequences API seems to have
arrived in later versions of the language, I wondered if the influence had been
in the opposite direction.

When were ranges first introduced in D?


Eh, I'd have to go back through the github history :-(

The idea goes way back. Matthew Wilson and I were thinking about how to do C++ STL-like iterators, which were based on a pointer abstraction. I thought it was natural for D to do it as an array abstraction. There are some posts about it in the n.g. somewhere. The idea languished until Andrei joined us and figured out how it should work, and ranges were born.

Reply via email to