Macros 在Julia中有没有办法将函数转换为表达式?

Macros 在Julia中有没有办法将函数转换为表达式?,macros,julia,metaprogramming,Macros,Julia,Metaprogramming,我正在尝试创建一个宏,它能够(可能是递归地)将函数转换为表达式,从而实现在该函数中应用的操作 作为可视化: function sampleFunc(x) println(x) y = 2x return 2y* x end @macroIcannotImplement sampleFunc(x) 期望输出: quote println(x) y = 2x return 2y* x end Julia支持这样的提取还是应该开

我正在尝试创建一个宏,它能够(可能是递归地)将函数转换为表达式,从而实现在该函数中应用的操作

作为可视化:

function sampleFunc(x)
     println(x)
     y = 2x
     return 2y* x
end

@macroIcannotImplement sampleFunc(x)
期望输出:

quote
     println(x)
     y = 2x
     return 2y* x    
end
Julia支持这样的提取还是应该开始搜索其他方法?

是,使用:


你打算怎么处理这个?一般来说,它不会带你去好地方。你可能会对我在Arborist.jl中的一些想法感兴趣。但他们不倾向于实用的代码。
julia> using Revise, CodeTracking

julia> function sampleFunc(x)
            println(x)
            y = 2x
            return 2y* x
       end
sampleFunc (generic function with 1 method)

julia> @code_expr sampleFunc(3)
:(function sampleFunc(x)
      #= REPL[2]:1 =#
      #= REPL[2]:2 =#
      println(x)
      #= REPL[2]:3 =#
      y = 2x
      #= REPL[2]:4 =#
      return (2y) * x
  end)