
Hello Simon, Wednesday, November 14, 2007, 11:28:23 AM, you wrote:
I can think of some other possibilities:
(a) It would be possible to record in the .hi file the fact that there originally *was* a top-level 'x', and so produce the message you suggest. But it'd be one more thing to implement, document, and maintain.
and this will increase amount of recompilation for large projects
(b) We could decide *never* to use compiled modules (M.o) for home-package modules, but only for other-package modules. Then at least all the home-package modules would have their names in scope. So the home package would be always interpreted. (The home package is the modules of your current project, not installed as a "package".) This'd be pretty easy.
it may be great if such behavior enabled by some option, such as -force-recomp. in many cases, we need to run compiled code inside ghci how about such variant? d) when printing message about undefined symbol, add note about reloading sources: "Symbol `x` undefined; if it's a top-level symbol in some loaded module M, please reload this module source-wise: :load M.hs" and implement directive ":load M.hs" as interpreted loading of the module -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com