On 08/06/2013 12:56 PM, Andrei Alexandrescu wrote:
Vote up!

http://www.reddit.com/r/programming/comments/1jtzez/component_programming_with_ranges/


Andrei



This article is excellent.

Some notes:

1) More recent versions of std.datetime makes it possible to write 1.days instead of dur!"days"(1)

From:

        .recurrence!((a,n) => a[n-1] + dur!"days"(1))

To:
        .recurrence!((a,n) => a[n-1] + 1.days)

2) It is mildly annoying that sometimes it is more convenient to do non-trivial processings in .front rather than .popFront. The problem of doing so is that the user of the code may call .front multiple times assuming that the result is a reference to an already processed data when in fact each call consumes CPU cycles.

3) I haven't compiled the code but it looks like some of the signature constraints can be simplified by taking advantage of isDateRange() more.

Ali

Reply via email to