Why D is not popular enough?
Guillaume Piolat via Digitalmars-d
digitalmars-d at puremagic.com
Fri Aug 12 09:10:04 PDT 2016
On Friday, 12 August 2016 at 14:41:14 UTC, Shachar Shemesh wrote:
>
> That table was not expensive to compute, and its constantness
> wasn't crucial enough even for me to put a wrapper pointer and
> only access it through it. Had that not been the case, and had
> that table been more expensive to computer, I'd probably
> compute at compile time with an external tool.
>
> Shachar
And you are forgetting about composability. If I can compute a
table at compile-time this means I can go higher on the
abstraction ladder.
void interpFast(string expr)(float x)
{
// here a look-up computed at compile-time
static immutable table = makeTable!exp(0, 100, 0.1f);
int ipart = cast(int)x;
int fpart = x - ipart;
return linInterp(table[ipart], table[ipart+1], fpart);
}
void main()
{
// automatically tabulated
float x = interpFast!"pow(cos(x) + 4, x)"(0.5f);
}
Not only is this impossible in C++, but being cumbersome it means
that people won't do it and loose optimization opportunities.
More information about the Digitalmars-d
mailing list