Thanks for the fast response!

However, when I change bar in the module this gives an error "No method 
foo(Array)":
foo(x::Real) = x^2

println(bar(foo, [1:3]))                  


As far I understand passing foo as function argument to bar(f, y) is not 
sufficient. The problem is that bar() uses foo(x::Real) and foo(x::Array). 
However, foo(x::Array) is defined in the module based on the foo(x::Real). 
The user should only provide the later one.



Reply via email to