GHC 6.4 release candidates available

Simon Marlow simonmar at microsoft.com
Fri Feb 11 05:49:56 EST 2005


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


More information about the Glasgow-haskell-users mailing list