Michel Fortin wrote:
On 2009-04-12 11:09:51 -0400, Lars Kyllingstad <pub...@kyllingen.nospamnet> said:

Andrei Alexandrescu wrote:
Lars Kyllingstad wrote:
I think isInfinite!() should be called isInfiniteRange!(). The current name is, in my opinion, too general.

I'm undecided about this (and similar cases). isInfinite sits inside std.range, so std.range.isInfinite is clear and std.range.isInfiniteRange feels redundant. On the other hand, I don't want to use too common symbols because then the user will be forced to prefix them whenever they clash.

I'm not too worried about name clashes, I just think it sounds wrong. If R is a range with infinitely many elements, I think it's more correct to say "R is an infinite range" than to say "R is infinite".

As an example of what I mean, let the range R be the sequence 1, 1/4, 1/9, ...:

   alias Sequence!("1/(n*n)", 1) R

Then, isInfiniteRange!(R) should obviously yield true. From a mathematical standpoint, I think the result of isInfinite!(R) is less obvious. Yes, the range has infinitely many elements, but none of them are infinite, nor is their sum infinite.

Perhaps it should be renamed to isUnbounded then.

...except that my example, and indeed any range produced by sequence, recurrence, etc. are bounded at one end. Thus the term "infinite range" is more precise, and fits in well with the mathematical terms "infinite series" and "infinite sequence". Just not "infinite" alone. :)

-Lars

Reply via email to