Hacker News new | ask | show | jobs
by Xcelerate 3781 days ago
> I'd like an infix function composition operator.

Do you mean like the pipe symbol?

    rand() |> println
Or are you referring to something else?
2 comments

No, x |> f is equivalent to f(x) while (f ∘ g)(x) is equivalent to g(f(x)). Specifically, x |> f results in a value (of the type of the return value of f) while f ∘ g results always results in a function.
Why not make one for yourself? ;)

julia> (∘)(f, g) = x -> f(g(x))

∘ (generic function with 1 method)

julia> (sum ∘ rand)(10)

3.397728240035534

Tip: type \circ<tab> to get ∘

I know, but why isn't something like this in core? * did function composition a while ago, but it was removed (beats me why) and hasn't been replaced.

Enough Perl6 has left me with <compose>(.) to get ∘ :-)

Get involved then, Julia isn't exactly the illuminate.
That's exactly it - thanks! Somehow I missed that when searching the docs for "chain", "pipe", and "compose".