eval(x::Expr) has type ::Any

Sure, and this is exactly what I am doing;-)

Now if You look at automorphisms of a group with 10 (or more) generators It contains at least hundreds similar automorphisms (ones comming from multiplication on the left/right by a generator/its inverse) do You have to write all of them by hand as You suggested? I thought: Metaprogramming, i.e. make julia generate code for me.

hence the function in the first post (which is just one of fis) should probably be like

 function create_automorphism(i,j)
    str = "v -> v[i]*v[j]"
    expr::Expr = parse(str)
    f::Function = eval(expr)
    return f
end

Now, when it should be somehow clear what I want to do, the question remains:
Why is eval ::Any and is this the way to go?