Jonathan M Davis wrote:
On Tuesday, July 27, 2010 07:05:11 Andrei Alexandrescu wrote:
This all raises the question: where should this Sorted(R) in the making
go? It's a range so it should go in std.range, but it's mostly a
motivator for algorithms, so it should go in std.algorithm. Tiebreakers?

It's a range, so put it in std.range. It's already likely pretty common to be importing both anyway, and std.algorithm has more in it than std.range at this point. Sure, it may be used with std.algorithm, but someone may have their own functions that they'd want to use it with without std.algorithm.

I suppose that it is a bit borderline as to which module it should go in, but I'd argue that since it's a range that isn't associated with any particular function (like Find! or Until! or whatnot), it should go in std.range.

I agree with the argument. I just fear that someone wants binary search, searches the std.algorithm document for "binary", doesn't find any, and concludes it doesn't exist. I think I should drop such names as "binarySearch", "lowerBound" etc. in the documentation of std.algorithm and have the terms xref to std.range.

Andrei

Reply via email to