foo => "bar" key/value literals in D!
Adam D. Ruppe via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Wed May 25 05:29:55 PDT 2016
On Wednesday, 25 May 2016 at 09:24:31 UTC, Daniel N wrote:
> From an end-user perspective I find it reasonable to expect
> that an API which takes lambda:s works consistently for both
> below examples. i.e. if we support one we should support the
> other.
>
> [1] fun!( x => y)
> [2] fun!((int x) => y)
Those are indeed both can work to fetch names, though they aren't
exactly the same since the first one is a template and the second
one isn't. The technique is slightly different right now, but
both doable (and I have no objection to unifying the techniques)
The big difference I'm talking about is passing them as an alias
argument vs as a runtime argument. Runtime function pointers lose
many of the introspection capabilities of compile time alias
arguments (well, runtime args still can pretend to give you
names, but you'll find it doesn't actually work very well).
From the looks of the Phobos PR too, it looks like some of the
commentators conflated the two issues too: template vs
non-template isn't the same as alias vs delegate.
More information about the Digitalmars-d-announce
mailing list