[phobos] Difference between std.range is std.algorithm
Jonathan M Davis
jmdavisProg at gmx.com
Fri Jul 29 14:58:47 PDT 2011
Is there a simple way to distinguish whether something belongs in std.range or
std.algorithm? I know that in at least some cases, it's debatable as to
whether something belongs in one or the other, but is there a general rule
that we could give in one sentence or so?
For instance, I've been debating the situation with https://github.com/D-
Programming-Language/phobos/pull/147 a bit (it adds takeWhile, drop, and
dropWhile). drop clearly belongs in std.range, but both takeWhile and
dropWhile could go in either std.range or std.algorithm. Given the
similarities in their names to take, takeExactly, and drop, they should
probably go in std.range. However, there _are_ similar functions in
std.algorithm (e.g. takeWhile is similar to until). So, I don't know which
place is better (at present they're in std.range). But I'm not even aware of a
rule that I could give in a sentence or two which would say what the general
dividing line between std.range or std.algorithm is. You can get a feel for it
by seeing what's currently there, but it would be nice if we could have an
actual rule which made it clearer.
- Jonathan M Davis
More information about the phobos
mailing list