On Tuesday, 24 October 2017 at 20:36:00 UTC, H. S. Teoh wrote:
[snip]
it would be more self-documenting if written as:

        // (Hypothetical syntax)
        auto x = foo(width: 1, height: 2, userId: 3);


What about something that's a little uglier, but could be done with D magic?

For instance:
auto x = foo!(["width", "height", "userId"])(1, 2, 3)

So for instance, you could have some original function, like below

@namedParam("width", "height", "userId") auto x = _foo(int width, int height, UserId userId) { }

and then some D magic inserts a new function that is like

auto foo(string[] names)(...) { }

and then processes names, mixing in the correct named/typed variables and then returning a call to _foo with those variables.

Reply via email to