On Saturday, 11 January 2014 at 16:07:30 UTC, Philippe Sigaud wrote:
I'm a bit leery of putting D call syntax into semantic actions,
because it'll also explode the Pegged grammar size (I'm fairly sure I'd have to pull in a big part of D if I want to get function calls right). That's one feature I wanted at one time, but I'm not sure it's
a good idea.

Yes, and I would not be able to argue this is the definite way to handle things anyway. It's a try at type checking with little regard to efficiency. I'm just happy it works with Timon Gehr's extremely simple solution. :3


On Saturday, 11 January 2014 at 20:52:15 UTC, Timon Gehr wrote:
import std.string, std.algorithm;

enum semanticArray = ["derp", "lala"];

mixin(semanticArray.map!(a=>`T `~a~`(T)(T t) {
    t.name ~= "`~a~`";
    return t;
}`).join());

Here, have a heart. <3

Reply via email to