[snipped]

> so it's easy to build up more complex right-to-left pipelines, like:
> 
>       (@foo, @bar) :=
>               part [/foo/, /bar/],
>                       sort { $^b <=> $^a }
>                               grep { $_ > 0 }
>                                       @data;
> 
> 

I would like perl6 to support left-to-right part/sort/grep pipelines.
Left to right syntax is generally good because it facilitates the flow
of reading.

For these pipelines, the current right to left syntax is due to the emphasis
on the operation over the data operated on, so the operator appears
first. Nevertheless with a long pipeline, data is best factored out in a
variable so having it first is not an impediment.

Tentative syntax:
  ... is an left-associative operator that has the same precedence as .

  argexpr...listop indirop

    would be equivalent to

  listop indirop  argexpr
    

example:

@data = [ very_long_data_expression ]
(@foo, @bar) := @data...grep { $_ > 0 }...sort { $^b <=> $^a }...part [/foo/, /bar/];



Also, I  am not necessarily advocating that operators like :=
could be flipped to become := with flipped operands:

  @data...grep { $_ > 0 }...sort { $^b <=> $^a }...part [/foo/, /bar/]   =: (@foo, 
@bar)

I am just advocating to examine the idea. :)
I certainly see an imediate problem with the current conventions: 
=~ and ~= are two different beasts, not one beast and its flipped version.


__
  stef

Reply via email to