6.3.2. Package-qualified imports¶
Allow the use of package-qualified
PackageImports extension, GHC allows import declarations to be
qualified by the package name that the module is intended to be imported
from. For example:
import "network" Network.Socket
would import the module
Network.Socket from the package
(any version). This may be used to disambiguate an import when the same
module is available from multiple packages, or is present in both the
current package being built and an external package.
The special package name
this can be used to refer to the current
package being built.
You probably don’t need to use this feature, it was added mainly so that we can build backwards-compatible versions of packages when APIs change. It can lead to fragile dependencies in the common case: modules occasionally move from one package to another, rendering any package-qualified imports broken. See also Thinning and renaming modules for an alternative way of disambiguating between module names.