Arbitrary abbreviations in phobos considered ridiculous
Jonathan M Davis
jmdavisProg at gmx.com
Fri Mar 9 16:32:55 PST 2012
On Saturday, March 10, 2012 01:22:49 David Nadlinger wrote:
> On Saturday, 10 March 2012 at 00:16:14 UTC, Jonathan M Davis
>
> wrote:
> > UFCS will give people more freedom and may help templates in
> > some cases, […]
>
> Note aside: I think people tend to overestimate the amount of
> generic code that becomes easier to write/extend with UFCS, as D,
> in contrast to C++, doesn't have ADL.
That wouldn't surprise me at all. But then again, aside from using
arrays as ranges, I don't recall _ever_ running into a function in D where
a user-defined type had a member function with that name, and a free
function had that name, and I wanted to call that function in a template and
therefore had to use static ifs to separate the two. So, personally, I don't
think that it will help me _at all_. I can see there being a few cases where
it would though. If C++ had it, then could have implemented begin and end
differently and not have to try and get everyone to switch over to using the
free function versions for C++11. And in the case of arrays, having that sort
of syntax has been _very_ useful for ranges.
But I don't buy that that's really the case for other primitive types
(certainly not frequently), and unless you don't control the user-defined type
that you're trying to operate on, you'd just put the function on the type
itself when dealing with a user-defined type.
So, it'll probably help _some_, but I think that there's a good chance that
you're right and that it won't be as useful as some people are expecting. But
for better or worse, it looks like we're getting it.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list