Special Code String for mixins
Inquie via Digitalmars-d
digitalmars-d at puremagic.com
Wed Mar 15 06:50:28 PDT 2017
I hate building code strings for string mixins as it's very ugly
and seems like a complete hack.
How bout, instead, we have a special code string similar to a
multiline string that allows us to represent valid D code. The
compiler can then verify the string after compilation to make
sure it is valid D code(since it ultimately is a compile time
constant).
e.g.,
string s = "smile";
enum code1 = @#
void happyCode = "Makes me @@s@@";
#@
enum code2 = code1 ~ @#
int ImThisHappy = @@s.length@@;
#@
mixin(code);
or
mixin(code.stringof); // possible to convert code string to a
string and vice versa.
or whatever syntax one thinks is better. The point is that the
code string is specified different and then is no longer
ambiguous as a normal string. Compilers and IDE's can make more
informed decisions.
There might be a much better way, but something should be done to
clean up this area of D. It is a mess to have to use string
building to create code. (it's amazingly powerful, but still a
mess)
More information about the Digitalmars-d
mailing list