Difference between using and importall
Suppose we want to extend a function called bar in the Foo package. When we do it by using, we need include the package name too:
julia> using Foo julia> function Foo.bar(...)
But when we do it by importall, we are not required to include the package name:
julia> importall Foo julia> function bar(...)
When we use importall, function bar(...), and function Foo.bar(...) are equivalent.
This prevents us from accidentally extending a function that we didn't want to extend or didn't know about, and saves us from possibly breaking future implementations of Foo.