January 25, 2013
Would this be possible without breaking the grammar?

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


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());
January 25, 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);