# Query.jl v0.11 released

**URL:** <https://discourse.julialang.org/t/query-jl-v0-11-released/20387>\
**Category:** Package Announcements\
**Tags:** announcement\
**Created:** [February 3, 2019, 1:48am UTC](https://discourse.julialang.org/t/query-jl-v0-11-released/20387 "2019-02-03T01:48:50Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![thautwarm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thautwarm/32/37760_2.png) [@thautwarm](https://discourse.julialang.org/u/thautwarm)\
**Post date:** [February 3, 2019, 5:30am UTC](https://discourse.julialang.org/t/query-jl-v0-11-released/20387/2 "2019-02-03T05:30:29Z")

</div>

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:

```julia
@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](https://github.com/thautwarm/MLStyle-Playground/blob/master/Linq.jl) ,

```julia
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](https://github.com/thautwarm/MLStyle.jl) to manipulate ASTs like rewriting query expressions.

---

_[View the full topic](https://discourse.julialang.org/t/query-jl-v0-11-released/20387)._
