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



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)


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

        .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.


Reply via email to