
On 11 February 2005 02:19, John Meacham wrote:
There seems to have been a change in how packages are found which is biting me.
I have a module called PackedString, which used to be fine, as ghc's packedstring was called Data.PackedString. however with ghc 6.4 I am getting the error:
Atom.hs:3:0: Failed to load interface for `PackedString': Could not find module `PackedString': it is a member of package lang-1.0, which is hidden
If not using -package foo doesn't allow you to reuse the names in foo then I must wonder what the point is of hiding the package in the first place :)
GHC has warned you about a module clash, for which you should be grateful :-) This could have lead to strange link-time errors, or even crashes, if you had used a library module which depended on the other PackedString. The golden rule is (from the new section on packages in the GHC User's Guide): There must be no overlaps in the modules provided by all of the exposed packages, and the packages they depend on, and so on. PackedString (not Data.PackedString) is indeed a member of the lang-1.0 package. This normally wouldn't be a problem, because lang is hiden. However, if lang is a dependency of some other exposed package, then it becomes part of your program, and hence its modules cannot overlap with any others. What other packages are you using? Cheers, Simon