On Fri, Mar 9, 2012 at 3:56 PM, Jonathan M Davis <jmdavisProg@gmx.com> wrote:
On Friday, March 09, 2012 17:41:01 Steven Schveighoffer wrote:
> I'll say I *don't* agree with the rejection of aliases on principle --
> aliases can be extremely useful/helpful, and they cost literally nothing
> (the "cognitive cost" on the docs is a BS argument IMO). I just don't
> agree with consuming so many common symbols for the sake of sugar.

aliases need to have a really good argument for existing. If UFCS is fully
implemented, then I think that there is _some_ argument for having stuff like
hours and minutes, because then you can do stuff like 5.seconds() (though
honestly, I really don't like the idea). The alias enables different usages
rather than simply being another name for the same thing.

Now, in this particular case, it's that much worse for exactly the reason that
you're against it: it uses common names for free functions. It's not as big a
problem as it would be in C or C++, but it's still a problem. There's also
some risk that it will break code.


Oh, and I'd just like to add some of my experience to this. These names are used by Boost's datetime library and they've never been a problem for me and at work we make extensive use of Boost datetime.  There is risk but I think in this specific case they are fairly small (especially in D, over C++).  We switched to Boost datetime after we had hundreds of thousands of lines of code written using a different system and I didn't encounter any problems with the duration shortcut functions clashing.

Anyway, it sounds like Walter is probably opposed from what he was saying in the other thread so this conversation is probably moot.

Regards,
Brad Anderson 

- Jonathan M Davis