Enum and CTFE function call

Everlast Everlast at For.Ever
Tue Aug 14 17:14:24 UTC 2018


On Tuesday, 14 August 2018 at 16:54:09 UTC, ixid wrote:
> On Tuesday, 14 August 2018 at 13:38:16 UTC, Everlast wrote:
>> etc
>
> Thanks all for the comprehensive responses. I was not clearly 
> separating CTFE and the compilation of the function in thinking 
> about it. Much clearer now.

Yeah, if you don't think's can get pretty confusing because the 
language really does not cleanly separate it... which is 
intention because they are virtually identical things but used 
slightly differently(technically RT and CT are not separate 
things, we could assume the OS is a compiler of some sorts).

I will say that once you do some meta programming in D(say 10k 
lines of code, even if basically junk but in some higher context) 
it will just sorta of magically start to separate pretty quickly. 
Since they are so similar you really are not learning anything 
new if you already know how to program well(have a good 
conceptual basis of what programming is and how it works, say 
about ~5 years of decent programming experience).

Just remember that it won't all suddenly be crystal clear, the 
more you program this stuff the more clear the divisions 
become(And everything D in general).

Initially when I started messing with D the concepts were not 
obvious but once I recognized the power unadulterated power that 
they posses(which was quick since I love meta programming in 
general) and the ease of use(I just had to think in basically 
those 3 categories without changing much actually programming 
"logic") I was hooked. Of course, it's not perfect, but nothing 
out there like it that is like C++(which was my background). I'm 
not much in to Haskell, which is effectively even a more powerful 
logic device, but just unlike the rigor that is required to use 
it. (When I want to be risky I want to be risque!). D provides 
that balance, as a language, for me... all though it isn't a 
perfect marriage by any means(are any?).




More information about the Digitalmars-d-learn mailing list