Espero entender su pregunta correctamente, pero creo que esto se conoce como el operador de tubería (inverso) en los idiomas de ML.
[1; 2; 3] |> List.map sq // let it = [1; 4; 9]
También existe el operador de tubería inversa que ayuda con el orden de las operaciones.
printf "The value is.." <| 2 + 3 // let it = "The value is..5"
Esto es útil porque la forma no abierta
printf "The value is.." 2 + 3 ;; error
error porque printf intentaría evaluar "The value is.." 2
y error porque no hay un +
operador definido . Para que eso funcione, use paréntesis:
printf "The value is.." (2 + 3) // let it = "The value is..5"
En cuanto al uso práctico, el |>
operador es increíblemente útil y la base de muchos lenguajes inspirados en ML y ML como F #, LiveScript y Elixir. <|
es menos común y generalmente solo se usa cuando aumenta la legibilidad.