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 _______________________________________________ phobos mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/phobos
