On Sunday, 7 July 2013 at 13:20:14 UTC, Timon Gehr wrote:
On 07/07/2013 02:27 PM, Peter Alexander wrote:
...

We're almost there with CTFE, but CTFE can only run functions that could run at runtime. In a crazy world where types were first class objects,
stuff like this would be feasible. Or perhaps we just need a
compile-time metalanguage that allows things like this to be run with CTFE?

Almost there indeed.

http://d.puremagic.com/issues/show_bug.cgi?id=9945

Hmmm.... I was thinking about encoding/decoding types, but it doesn't help with template instantiations. You still need a separate compile time language.

bool allSatisfy(alias F)(TypeInfo[] typeIds) {
    foreach(t; typeIds)
if (!F!(__traits(typeFromId, t))) <---- How do you do this step?
            return false;
    return true;
}

Or am I missing something?

Reply via email to