Le 19/01/2017 à 22:53, Levi Morrison a écrit :
On Thu, Jan 19, 2017 at 11:12 AM, François Laupretre <flaupre...@free.fr> wrote:
Le 19/01/2017 à 13:54, Levi Morrison a écrit :
The `|>` symbol would be the piping operator with these semantics:
      1. Evaluate the left-hand side.
      2. Evaluate the right-hand side. Assert that the result is callable.
      3. Pass the result from 1. as the single argument to 2.

May I suggest extending your 3rd rule to : when the right hand side has the
form of a function call, insert the result from 1. as first argument of 2.
This way, right hand side may specify additional arguments
If we only had `|>` this may be good but since we are also proposing
`$$` then this renders your suggestion unnecessary:

     $string |> trim($$)

Would work just fine with no performance overhead.

Additionally, you could write:

     $input |> array_map($fn, $$)

Or:

     $input |> array_filter($$, $fn)

Basically, `$$` gives the flexibility of passing additional arguments
and keeps `|>` simple. No need for additional rules for `|>`.

Right, I just suggest to make the '$$' optional when used as first arg of a rhs call. Except complex cases like array_xx() functions which will generally require an explicit '$$', most cases will feature a '$$' as first arg of a function call. This may be considered as better because more explicit, but I think the case is prominent enough to justify this 'shortcut'.

Another question: Will you accept several occurences of '$$' in a RHS ?

Last, a cosmetic suggestion : replace '$$' with '$<' (more explicit as 'input data', imo).

Regards

François

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to