Я надеюсь, что правильно понимаю ваш вопрос, но я считаю, что это известно как (обратный) оператор труб в языках 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. <|менее распространен и обычно используется только тогда, когда это увеличивает читабельность.