On 8/20/13 10:47 AM, Walter Bright wrote:
On 8/20/2013 7:21 AM, Joseph Rushton Wakeling wrote:
On 20/08/13 00:00, Walter Bright wrote:
While not unique to D, I believe that ranges will become a killer
feature -
killer enough that languages that don't support pipeline programming
will start
looking like propeller driven airliners.

On that note -- I was chatting with a (very functional- and
Lisp-oriented)
friend about D and, when ranges were mentioned, he immediately
connected it with
Clojure's concept of "sequences": http://clojure.org/sequences

Does anyone know the history/relationship here between these and D's
ranges? Was
it a direct influence from D, or convergent evolution -- and can
anyone comment
on the relative merits of the D vs. Clojure approaches?

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.

It's a common omission to equate D's ranges with pipes/filters. That misses the range categorization, which is inspired from C++ iterators.

A relatively accurate characterization of D ranges is a unification of C++ iterators with pipes/filters.


Andrei

Reply via email to