> I doubt how it is fixed because do not understand how do you treat
> directories.
> For any occasion, I add that the directories are
>            
>     D/export/           -- contains .hi files, .o, .a libraries
>     D/source/           -- contains  Permut.hs  and other modules
>     D/source/demotest/  -- contains other modules
> 
>   The  docon  package refers to  D/export/
>   Permut.hi  resides in          D/export/  only.
> 
>   ghci ... -package docon   
> 
>     is run in  D/source/demotest/  - and it works,
>     then, in   D/source/           - and it reports
> 
>       ... failed to load interface for `Permut': ...
> 
> I do not understand why you say 
> 
> > ... your current directory is the same as a package directory ...
> 
> The current directory is    D/source/  
> and a package directory is  D/export/     (?)
> 
> Aslo  Permut.hi  resides in  D/export/  only.
> I suspect that we are confusing things, are we?

But Permut.hs resides in D/source/, the current directory, so GHCi is
picking it up as a "home module" (a home module is one that isn't in a
package).  Home modules may only be used if they have previously been
loaded via :load, hence the error message stating that Permut has not
been loaded.

When I said "your current directory is the same as a package directory",
in your case I should really have said "a module in the current
directory shadows one in a package directory", which isn't allowed.

The change I made was to ignore home modules when looking for an
interface to load: this way you always get the Permut module from the
package directory.  You can probably still confuse GHCi with ":load
Permut" though.

Cheers,
        Simon

_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to