$ (1..10) |> Enum.map(&(&1**&1)) |> Enum.filter(&(&1 < 40))
[for (i of Array(10).keys()) ++i].map(e=> e*e ).filter(e=> e<40 )
The Elixir pipe syntax is reminiscent of Clojure's ->/->>:
(->> (range 1 10) (map #(* % %)) (filter (partial > 40)))
infix |> fun (a |> b) = a b