Is there a package to that can make partial functions automatically?

I feel a little confused by this thread. This simple code works in Julia, isn’t it what the author is asking for?

julia> f(a, b) = (a,b)
f (generic function with 1 method)

julia> f(2,3)
(2, 3)

julia> g(x) = f(999, x)
g (generic function with 1 method)

julia> g(3)
(999, 3)

No. Partial application is where that 999 is assigned at runtime, and yours is set at compile time.

The example of @stevengj allows this:

(a, c) -> f(a, b, c)

Is he trying to do something like this?

julia> using DataFrames

julia> savejdf(df::AbstractDataFrame, path::AbstractString) = println("saving $df to $path")
savejdf (generic function with 1 method)

julia> savejdf(df::AbstractDataFrame)  =  path -> savejdf(df, path)
savejdf (generic function with 2 methods)

julia> savejdf(path::AbstractString)  =  df -> savejdf(df, path)
savejdf (generic function with 3 methods)

julia> mysave = savejdf("my directory")
#3 (generic function with 1 method)

julia> (mysave)(DataFrame())
saving 0×0 DataFrame to my directory