reflection based on my experience so far on compile-time meta-programming in D as a novice user: the problems
    mw 
    mingwu at gmail.com
       
    Mon Sep 14 17:03:03 UTC 2020
    
    
  
On Monday, 14 September 2020 at 09:14:42 UTC, Sebastiaan Koppe 
wrote:
>
> I have been trying, but there is one I can't get...
>
> ---
>
> import std;
>
> string generate(T)() {
>     return "%s bla;".format(T.stringof);
> }
>
> void main() {
>     mixin(generate!int);
>     bla = 5;
> }
Thanks for the simple example to illustrate my points:
-- in D, there are too many choices, with no clear guideline 
which one is *THE* one to use for a particular purpose
-- in D, there is no easy way to convert between token <==> 
string.
from the following discussions of this example, it clearly shows 
people have different choices to pass either the token <int>, or 
string "int", and use ".stringof" or ".mangleof", some leads to 
dead end, some cause scope errors.
(And Sebastiaan is a long timer on this forum than me, yet still 
puzzled to make this simple meta-programming example to work.)
    
    
More information about the Digitalmars-d
mailing list