Taking D to GDC Europe - let's make this tight

Ethan Watson via Digitalmars-d digitalmars-d at puremagic.com
Tue Jul 12 10:55:22 PDT 2016


On Tuesday, 12 July 2016 at 16:24:07 UTC, Ola Fosheim Grøstad 
wrote:
> you'll get the same response that you would get from D-users if 
> you compared C++17 to D1...

That's both wildly hyperbolic; and not going to happen for the 
mentioned reasons.

> I can get this to work:

Which is both not the way I'm currently doing it, and not the way 
I've seen it done elsewhere. Effectively, the way I've seen it 
done is by testing the return type of a 
variadic-template-parameterised function that is specialised with 
the decltype for the operation in question.

However, this goes to prove my point. In both cases, it's a bunch 
of legwork just to get to a true_type or a false_type. Having it 
available in the standard library ignores the fact that if you 
need to do something similar that will never be covered by the 
standards, it's a whole bunch of near-esoteric work you'll need 
to understand to get to that point.

Whereas in D, you can do the same thing with an is() statement.

As I pointed out at DConf (and which I saw someone around here 
quote somewhere), the number one thing you can do in D that you 
can't do in C++ is save time. The is() statement isn't just a 
simple operator, it's far more powerful that writing a boatload 
of boilerplate template code because it tests if code compiles. 
Far more flexible than writing template code for the fail case 
and specialising for the success case, far quicker to learn, far 
quicker to use, far quicker to write, etc.

> I am not sure if I understand the argument.

Did you see my DConf talk? Do you know that DMD uses mslink for 
64 bit builds, and we use the Xbox One version of mslink to get 
Xbox One compatibility? It seems to me you'll understand where 
I'm coming from better if you look at what I've already put out 
there.


More information about the Digitalmars-d mailing list