Я надеюсь, что правильно понимаю ваш вопрос, но я считаю, что это известно как (обратный) оператор труб в языках ML.
[1; 2; 3] |> List.map sq // let it = [1; 4; 9]
Существует также оператор обратной трубы, который помогает с порядком операций.
printf "The value is.." <| 2 + 3 // let it = "The value is..5"
Это полезно, потому что необрезанная форма
printf "The value is.." 2 + 3 ;; error
будет ошибка, потому что printf будет пытаться оценить "The value is.." 2
и ошибка, потому что нет определенного +
оператора. Чтобы заставить это работать, используйте круглые скобки:
printf "The value is.." (2 + 3) // let it = "The value is..5"
Что касается практического использования, |>
оператор невероятно полезен и является наворотом многих ML и ML-вдохновленных языков, таких как F #, LiveScript и Elixir. <|
менее распространен и обычно используется только тогда, когда это увеличивает читабельность.