It is annoying that a program only report errors (e.g., no method matching …) when it reach the point of calling, especially for some time-consuming programs.
Since in Julia, we can give detailed type information, I wonder if there is any static type checking tool for Julia, which utilizes the type information to discover any possible error before running?
for example, If I write a function
function foo(x::AbstractArray) x+1 end
which should actually be
x.+1 in the function’s content.
Can Julia discover this error (Julia alone or by using some external tool) in compiling stage?