Hi Alain, I don't have that problem on my projects. Could you please give us a simple example of a project which exposes the described behaviour? Didier 2012/11/3 Alain Coste > ** > Hello, > Back to a problem which I have always found annoying in OCaml. I hoped the > version 4.0 would solve it, but it seams nothing changed.. > While developping a project, It's interesting to use the interpreter (for > test, debugging) AND the compiler (to have program run faster when > everything goes wright). > Now, when the project is divided in several modules, each module being a > structure written in a .ml file (with possibly a signature in a .mli file), > you can't simply use the interpreter and the compiler on the same files. > The interpreter loads the modules with their names (say M), and you can > refer to its identifiers with M.foo, in the standard way. > The compiler adds one level of "modularity", as it encapsulates the > contents of the file with "module M ...end". So now its identiifers should > be referenced as M.M.foo !! > I found two possible work-arounds to this : > - comment out all my top-level decarations of module before compiling > the files > needs to be undone and redone every time I want to reuse the > interpreter for testing after a change in the the program > - copy all the files in one file and compile this unique file > this process is easy to automatize, but I loose the advantages > of separate compilation > > Can somebody explain the rationale behind this behavior. Or, if this is > only for historical and compatibility reasons, could it be possible to have > an option "-please_don't_encapsulate" (or something shorter...) for the > compiler ? > > Alain Coste >