On Thursday, 5 December 2013 at 09:25:30 UTC, Don wrote:
I think that is of negligible benefit. There's not a whole of
difference between manipulating an AST, vs manipulating text,
and I'm confident that the time taken to do that is always
going to be far more than the time required to lex and parse
text.
What AST macros could provide is syntax sugar.
But IMHO there's a lot more to be gained from improvements to
compile time reflection.
Negligible? AST macros write the front-end of a D compiler for a
string mixin for you. That's not negligible. Even if the D
frontend was static and didn't change it would be difficult to
reach parity. The best that can be done now is a language that
reminds you of D (or a D subset that, at best, will confuse users
since it's not going to support nearly everything).
Of course, I know we're not going to get AST macros, but at least
don't say things like it's "negligible". The only reason we
aren't getting AST macros is because it's the opposite of
negligible; it's _too powerful_.