Hey David,
It’s cool to bring this pretty complete implementation of C# query syntaxes into Julia, but after reading the docs I found there is not a chance to make custom extension methods like:
@query_extension function custom_operation(df, arg1, arg2)
...
end
df |>
@custom_operation(arg1, arg2) |>
...
I have such an implementation about this at https://github.com/thautwarm/MLStyle-Playground/blob/master/Linq.jl ,
import Linq: dispatch
dispatch(arr :: Vector{T}, ::Val{:str}) where T = string(arr)
dispatch(s :: String, ::Val{:println}) where T = println(s)
@linq [1, 2, 3].map(x -> 2x).str.println
# => [2, 4, 6]
Could you please take this into consideration? Also I strongly recommend you to use MLStyle to manipulate ASTs like rewriting query expressions.