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.