got it, tnx On Wed, 2014-07-23 at 16:51, Stefan Karpinski <ste...@karpinski.org> wrote: > Not quite. Note the initial /. When you do `using M` or `import M` it is > like `cat /M` – it is relative to the root of the module system, not the > current level of module. When you do `using .M` it is like `cat M` or `cat > ./M` – it is relative to the current module. Otherwise when you wrote > `using Gadfly` in your package, it would go looking for Gadfly inside your > current module, which is unlikely to be where it is – unless you happen to > have your own submodule called Gadfly, which is, of course, possible. If > that's what you wanted, then you would use a relative import: `using > .Gadfly`. > > > On Wed, Jul 23, 2014 at 8:34 AM, Mauro <mauro...@runbox.com> wrote: > >> On Wed, 2014-07-23 at 16:29, Stefan Karpinski <ste...@karpinski.org> >> wrote: >> > Main is the root module so /T and ./T are the same thing in Main. >> >> but doesn't the same hold for any other "folder"? >> >> /MyMod/T and /MyMod/./T are the same thing >> >> > On Wed, Jul 23, 2014 at 3:36 AM, Mauro <mauro...@runbox.com> wrote: >> > >> >> It still needs relative imports with one dot: >> >> >> >> julia> module A >> >> module B >> >> foo()=4 >> >> export foo >> >> end >> >> using .B >> >> foo() >> >> end >> >> >> >> Which is a bit odd. Because at the REPL, which is in module Main, this >> >> is not needed. This both works: >> >> >> >> julia> module T >> >> end >> >> >> >> julia> using .T >> >> >> >> julia> module U >> >> end >> >> >> >> julia> using U >> >> >> >> Does anyone know why this difference is? >> >> >> >> >> >> On Wednesday, July 23, 2014 5:56:08 AM UTC+1, ggggg wrote: >> >>> >> >>> Ok I see how that works, I wasn't aware of the ..C syntax. That solves >> >>> the problem asked about, but I'm left with another question. Take for >> >>> example >> >>> >> >>> module A >> >>> module B >> >>> foo()=4 >> >>> export foo >> >>> end >> >>> foo() >> >>> end >> >>> >> >>> That doesn't work, I get "ERROR: foo not defined" because foo is not >> >>> actually in the A namespace. But if I add "using B" I get "ERROR: B not >> >>> found". So how do I define B inside A, but also have A import the >> things >> >>> that B exports? >> >>> >> >>> >> >>>> >> >> -- >>
--