
fre 2002-02-15 klockan 10.48 skrev Simon Marlow:
After loading a module with
:l Module
you can't use the Prelude functions unqualified, you just get things like
<interactive>:1: Variable not in scope: `show'
I am pretty sure that this worked some days ago, and I was using the same version then.
I feel totally confused. Has this happened to anyone else?
Yes, for some modules it happens for others it doesn't. Kind of strange. SuSE 7.3 rpms here, v. 5.02.2 J.A.
You're probably loading compiled versions of these modules. GHC 5.02.2 will only give you the exports of a compiled module when it is selected with :module.
Yes, I was loading a compiled module, and indeed, removing the Module.o file, enables me to use Prelude functions after loading it with :l Module. A clean semantics for this in ghci would be to view the interpreter as a "module" and all modules with :module and :load are treated just as if imported into this module. So you could write :load qualified Module :load Module hiding (name) and so on. In any case, there should be no difference in semantics between loading an interpreted module and a compiled one. If there are big problems in keeping the semantics the same, then I suggest always interpreting the module :loaded, even if a compiled version exists. Regards, Martin -- [ http://www.dtek.chalmers.se/~d95mback/ ] [ PGP: 0x453504F1 ] [ UIN: 4439498 ] Opinions expressed above are mine, and not those of my future employees. SIGBORE: Signature boring error, core dumped