Compile time function execution...
Max Samukha
samukha at voliacable.com
Fri Feb 16 04:43:40 PST 2007
On Thu, 15 Feb 2007 13:02:40 -0800, Walter Bright
<newshound at digitalmars.com> wrote:
>Gregor Richards wrote:
>> I see that I can't do this:
>>
>> char[] someCompileTimeFunction()
>> {
>> return "writefln(\"Wowza!\");";
>> }
>>
>> int main()
>> {
>> mixin(someCompileTimeFunction());
>> return 0;
>> }
>>
>>
>> Any chance of compile-time code generation via this mechanism? Or are
>> they simply handled in different, incompatible steps of compilation?
>>
>> - Gregor Richards
>>
>> PS: Yes, I realize this is a terrible idea ^^
>
>That's a bug. I'll fix it.
The following must be a related bug. The compiler complains that the
argument to the mixin is not a string and parse() cannot be evaliated
at compile-time.
char[] parse(char[] src)
{
return src;
}
class Test
{
mixin(parse(import("guts.dspx")));
}
void main()
{
}
BTW, thanks for the awesome feature!
More information about the Digitalmars-d
mailing list