I can store a macro to a variable (let use the identity macro "id" as an
example),
julia> idmacro = macro id(ex)
:($(esc(ex)))
end
@id (macro with 1 method)
How can I use this macro now? I can *almost* do it by hand by passing an
expression as an argument and eval'ing the result, but it doesn't work
because there's esc's left,
julia> @id 1+2
3
julia> idmacro(:(1+2))
:($(Expr(:escape, :(1 + 2))))
julia> eval(idmacro(:(1+2)))
ERROR: syntax: unhandled expr (escape (call + 1 2))
in eval(::Module, ::Any) at ./boot.jl:234
in eval(::Any) at ./boot.jl:233
Does Julia provide a way to use such macros stored in variables? Thanks!