JuliaLang/julia — pull request #5236 by lucasb-eyer (2013-12-26 13:39:49+00:00)
Title: Enable |> to create a function when given of two.

That means, `f |> g` creates a function which, when applied, first
applies f to its arguments and then g to the result of f. This is very
useful to create functions for map/filter:

```julia
map(sin, map(cos, map(sqrt, [1 2 3])))
```
or
```julia
map((x)->sin(cos(sqrt(x))), [1 2 3])
```
become
```julia
map(sqrt |> cos |> sin, [1 2 3])
```
which is much more readable imo.

And for a real-world use:

```julia
map((fname)->float32(imread(fname)), image_filenames)
```
becomes
```julia
map(imread |> float32, image_filenames)
```