>
> What does it mean to comvert a method to a expression. 

What I was hoping for was to get the implementation of the method back as 
an expression, something like:

julia> expr = :(foo(n::Integer) = 2*n)
:(foo(n::Integer) = begin  # REPL[2], line 1:
            2n
        end)

julia> eval(expr)
foo (generic function with 1 method)

julia> method = first(methods(foo))
foo(n::Integer) at REPL[2]:1

julia> Expr(method) == expr  # Not reality
true

More than likely it isn't possible. I just figured it was worth asking. A 
far more likely scenario would be to get a LambdaInfo as an Expr:
 
julia> foo(n::Integer) = 2*n
foo (generic function with 1 method) 

julia> method = first(methods(foo)) 
foo(n::Integer) at REPL[1]:1 

julia> method.lambda_template
LambdaInfo for foo 
:(begin  # REPL[1], line 1: 
        return 2 * n 
    end)


On Thursday, May 5, 2016 at 3:59:20 PM UTC-5, Yichao Yu wrote:
>
> On Thu, May 5, 2016 at 3:45 PM, Curtis Vogt <curti...@invenia.ca 
> <javascript:>> wrote: 
> > I doubt this is possible but is there a way of creating an expression 
> from a 
> > Method or LambaInfo? Something like: 
> > 
> > julia> m = first(methods(open, (AbstractString,))) 
> > open(fname::AbstractString) at iostream.jl:99 
> > 
> > julia> Expr(m) 
> > ERROR: TypeError: Expr: expected Symbol, got Method 
> >  in Expr(::Any) at ./boot.jl:270 
> >  in eval(::Module, ::Any) at ./boot.jl:228 
> > 
> > 
> > I'm running Julia 0.5.0-dev+3898. 
>
> What does it mean to comvert a method to a expression. 
>

Reply via email to