On Sun, Apr 12, 2009 at 5:50 AM, Andrei Alexandrescu
<seewebsiteforem...@erdani.org> 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.

This is one of the big reasons why "static import" by default would
have been better than pull-everything-in by default.

But since pull-everything-in *is* the default.  I agree with Lars.
Symbols supplied by modules should look unambiguous even when
undecorated by their module name.  Or you could use the trick that
Tango often uses -- make a static struct with a few members.  It's
pretty ugly though, if you ask me.  Introducing a static struct just
to get a namespace to replace the namespace that is already there but
gets stripped as the default action upon 'import'.  Ick.

--bb

Reply via email to