I wrote "would compile" but I was actually testing it out in utop, from which I can #require my package that defines those modules. *In utop specifically*, the first works, but the second does not. I am about to be compiling my code to test to be sure (I'm pretty sure what happens in utop corresponds closely to the compilation), but between compiles I have to recompile, reinstall my library, so my iterations are slow. Let you know in a few minutes. On Wed, Jun 10, 2015 at 10:35 AM, Ben Millwood wrote: > Your example superficially looks like it should work. Does the first > example also work if you drop the open statement? Consider the possibility > that you are actually picking up Foo from somewhere else. > > On 10 June 2015 at 15:16, Kenneth Adam Miller > wrote: > >> I ran into a quirk today- >> >> I noticed that if I first do: >> >> open My_module.Submodule >> module Blah = Foo.Bar >> >> That my code would compile, but doing this: >> >> module Blah = My_module.Submodule.Foo.Bar >> >> will *not*. Why is that? Is there any way to fully qualify a module name >> in the latter manner (the code of the latter manner was fully machine >> generated, and I would like the machine generated code not have to be >> edited). >> > >