UFCS-style invocation of lambdas

Timon Gehr timon.gehr at gmx.ch
Fri Jan 25 13:42:53 PST 2013


On 01/25/2013 10:37 PM, Peter Alexander wrote:
> Would this be possible without breaking the grammar?
>
> bool isPalindrome = getRange().(r => equal(r, retro(r)));
>

Yes.

>
> I find this way of writing that expression more natural and efficient
> than the alternatives:
>
> auto r = getRange();
> bool isPalindrome = equal(r, retro(r));
>
> or
>
> bool isPalindrome = (r => equal(r, retro(r)))(getRange());

bool isPalindrome = getRange().ap!(r => equal(r, retro(r)));

where

auto ap(alias a,T...)(T b)=>a(b);


More information about the Digitalmars-d mailing list