I hope I understand your question correctly, but I believe this is known as the (reverse) Pipe Operator in ML languages.
[1; 2; 3] |> List.map sq // let it = [1; 4; 9]
There is also the Reverse Pipe Operator which helps with order of operations.
printf "The value is.." <| 2 + 3 // let it = "The value is..5"
This is useful because the unpiped form
printf "The value is.." 2 + 3 ;; error
would error because printf would try to evaluate "The value is.." 2
and error because there is no defined +
operator. In order to make that work, use parenthesis:
printf "The value is.." (2 + 3) // let it = "The value is..5"
As for practical use, the |>
operator is incredibly useful and the bread-and-butter of many ML and ML-inspired languages such as F#, LiveScript and Elixir. <|
is less common and typically only used when it increases readability.