I have two modules that are included by a julia program. Let's call them Primary and External.
Primary contains a list of names in an array that's global to the module and a method to register new names: module Primary global names = AbstractString[] function registerName(name::AbstractString) push!(names, name) end end External needs to register a name into Primary, and does that in its initialization code: module External using Primary Primary.registerName("external") end This works. If I load both modules into my program or the REPL, Primary.names contains "external" However, if I add __precompile__(true) to the top of Primary, this no longer works. Primary.names is now always an empty array. However, I can still call Primary.registerName from the REPL or my program and it works. Is there any way for me to get Primary.registerName to work when called from a second module?