# How can I splat expressions into quote blocks?

**URL:** <https://discourse.julialang.org/t/how-can-i-splat-expressions-into-quote-blocks/108263>\
**Category:** General Usage\
**Tags:** question, metaprogramming\
**Created:** [January 2, 2024, 2:05pm UTC](https://discourse.julialang.org/t/how-can-i-splat-expressions-into-quote-blocks/108263 "2024-01-02T14:05:43Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [January 2, 2024, 2:05pm UTC](https://discourse.julialang.org/t/how-can-i-splat-expressions-into-quote-blocks/108263/1 "2024-01-02T14:05:43Z")

</div>

```julia
ex1 = quote
    a = 1
    a += 1
end
ex2 = quote
    a *= 2
    a += 3
end
quote
    $ex1...
    $ex2...
end

```

gives me

```julia
quote
    #= REPL[65]:2 =#
    begin
        #= REPL[61]:2 =#
        a = 1
        #= REPL[61]:3 =#
        a += 1
    end...
    #= REPL[65]:3 =#
    begin
        #= REPL[62]:2 =#
        a *= 2
        #= REPL[62]:3 =#
        a += 3
    end...
end

```

but I want

```julia
quote
    a = 1
    a += 1
    a *= 2
    a += 3
end

```

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [January 2, 2024, 2:11pm UTC](https://discourse.julialang.org/t/how-can-i-splat-expressions-into-quote-blocks/108263/2 "2024-01-02T14:11:48Z")

</div>

Of course something like

```julia
function _cat_blocks(blocks::Expr...)
    Expr(:block, mapreduce(x -> (@assert x.head ≡ :block; x.args), vcat, blocks)...)
end

```

works, but I am wondering if there is built-in syntax for this.

---

<div class="post-metadata">

**Author:** ![Tortar](https://avatars.discourse-cdn.com/v4/letter/t/6bbea6/32.png) [@Tortar](https://discourse.julialang.org/u/Tortar)\
**Post date:** [January 2, 2024, 2:14pm UTC](https://discourse.julialang.org/t/how-can-i-splat-expressions-into-quote-blocks/108263/3 "2024-01-02T14:14:41Z")

</div>

What about

```julia
julia> quote
           $(ex1.args...)
           $(ex2.args...)
       end
quote
    #= REPL[20]:2 =#
    #= REPL[10]:2 =#
    a = 1
    #= REPL[10]:3 =#
    a += 1
    #= REPL[20]:3 =#
    #= REPL[11]:2 =#
    a *= 2
    #= REPL[11]:3 =#
    a += 3
end

```

?

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [January 2, 2024, 2:15pm UTC](https://discourse.julialang.org/t/how-can-i-splat-expressions-into-quote-blocks/108263/4 "2024-01-02T14:15:33Z")

</div>

Thanks, I always forget the `()`s.
