So from what I've found searching the newsgroup and my own
experimentation, the best way to accomplish compile time printing
is to do something like this:
string ctMain()
{
//evaluate and return the final result string
}
enum result = ctMain();
pragma(msg, result);
I'm not a fan of having to build a single string and print it all
at once. I know it's not that bad but it just means I have to
pass around an Appender!string to all my logic functions that
print results instead of having a central function they can call.
I know a ctwriteln never really caught on, and pragma(msg, ...)
has some limitations in that it can't use "local" variables even
in CTFE. Are there any alternatives I'm overlooking?