A nicer hack would be to use the isdefined function: julia> isdefined(:Stats) false
julia> import Stats julia> isdefined(:Stats) true On 30 April 2014 19:09, Matt Bauman <[email protected]> wrote: > Is there a robust way to test if a Module has already been imported? Some > modules take a very long time to load, and in some contexts it might be > nicer to check to see if the functionality is there before spending 30 > seconds loading it and all its dependencies. > > The naive :FooModule in names(Main) fails if I reference FooModule later in > the same namespace. I can get around that by adding another scope (like a > macro or secondary function), but that's a bit of a pain. Is there a better > way? > > julia> f() = :FooModule in names(Main) && (println("has FooModule"); > FooModule.bar()) > f (generic function with 1 method) > > julia> f() > has FooModule > ERROR: FooModule not defined > in f at none:1
