Andrei Alexandrescu wrote:
Christopher Wright wrote:
Andrei Alexandrescu wrote:
Cool! I suggest the rewrite:

c.unknownmethod(args) -> c.opDotExp!("unknownmethod")(args)

That way you have the option of handling the method name statically or dynamically.

How would that allow you to handle the method name dynamically, if you're passing it as a template argument?

You mean that the *callee* can be dynamic. However, the *caller* cannot.

Of course. It makes no sense to ask for integrated syntax with a variable string. Think of it for a minute.

It standardizes a system for dynamic method dispatch with arguments generated at runtime or compile time. For arguments generated at compile time, it provides syntactic sugar.

Yours standardizes a system for dynamic method dispatch with arguments generated at compile time, and provides syntactic sugar. It also provides some minor opportunities for partial compile-time checking for these arguments.

In the end, I think that standardization of the runtime portions isn't so important. I accede.

Reply via email to