|
| Distribution.Package | | Portability | portable | | Maintainer | cabal-devel@haskell.org |
|
|
|
|
|
| Description |
| Defines a package identifier along with a parser and pretty printer for it.
PackageIdentifiers consist of a name and an exact version. It also defines
a Dependency data type. A dependency is a package name and a version
range, like "foo >= 1.2 && < 2".
|
|
| Synopsis |
|
|
|
|
| Package ids
|
|
|
| Constructors | | Instances | |
|
|
|
| The name and version of a package.
| | Constructors | | PackageIdentifier | | | pkgName :: PackageName | The name of this package, eg. foo
| | pkgVersion :: Version | the version of this package, eg 1.2
|
|
| Instances | |
|
|
|
| Type alias so we can use the shorter name PackageId.
|
|
| Installed package identifiers
|
|
| newtype InstalledPackageId | Source |
|
| An InstalledPackageId uniquely identifies an instance of an installed package.
There can be at most one package with a given InstalledPackageId
in a package database, or overlay of databases.
| | Constructors | | Instances | |
|
|
| Package source dependencies
|
|
|
| Describes a dependency on a source package (API)
| | Constructors | | Instances | |
|
|
|
|
|
|
|
| Simplify the VersionRange expression in a Dependency.
See simplifyVersionRange.
|
|
| Package classes
|
|
|
Class of things that have a PackageIdentifier
Types in this class are all notions of a package. This allows us to have
different types for the different phases that packages go though, from
simple name/id, package description, configured or installed packages.
Not all kinds of packages can be uniquely identified by a
PackageIdentifier. In particular, installed packages cannot, there may be
many installed instances of the same source package.
| | | Methods | | | Instances | |
|
|
|
|
|
|
|
Subclass of packages that have specific versioned dependencies.
So for example a not-yet-configured package has dependencies on version
ranges, not specific versions. A configured or an already installed package
depends on exact versions. Some operations or data structures (like
dependency graphs) only make sense on this subclass of package types.
| | | Methods | |
|
|
| Produced by Haddock version 2.6.1 |