On Sunday, 31 January 2016 at 13:59:06 UTC, Robert M. Münch wrote:
I like CTFE and the meta programming idea for languages like D.

However, I'm wondering why most (everyone?) is trying to do meta-programming using the same language as the one getting compiled. IMO the use-cases a pretty different and doing CTFE, code-generation etc. needs some other approach. If you look at all the strange template syntax, strange hacks etc. it's all far from being obvious.

You're conflating CTFE with the other meta programming tools here. CTFE is the same language as run-time D, but it doesn't have strange template syntax. Templates, static if, __traits, etc. have strange syntax, but they're sort of a different language already.

Are you maybe wishing for a nicer alternative to templates, etc?

Why not have a CTL (compile-time-language) that has access to some compiler internals, that follows a more functional concept? We are evaluating sequences of things to generate code, include / exclude code etc.

From my experience with the different approaches, functional thinking is much better suited and simpler to use for CTFE goals.

IMO that would really be a big step ahead. Because you know a hammer, not everything is a nail...

I think this is too vague to lead anywhere. At least you should identify specific problems with D's toolset. And if you have concrete ideas for improvements, you should desribe them in more detail, spelling out how they improve upon the status quo.

If you want to have an entirely different meta programming system, then you should show how it would look like, and how it would be better than the status quo. I don't think anyone can make much of "make it more functional". Also, when it's fundamentally different from what we have now, then I don't see it getting into D at the moment. The language is not in a phase of designing fundamentals.

Reply via email to