Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data PackagePath = PackagePath Namespace Qualifier
- data Namespace
- data Qualifier
- dispQualifier :: Qualifier -> Doc
- data Qualified a = Q PackagePath a
- type QPN = Qualified PackageName
- dispQPN :: QPN -> Doc
- showQPN :: QPN -> String
Documentation
data PackagePath Source #
A package path consists of a namespace and a package path inside that namespace.
Instances
Show PackagePath Source # | |
Defined in Distribution.Solver.Types.PackagePath showsPrec :: Int -> PackagePath -> ShowS # show :: PackagePath -> String # showList :: [PackagePath] -> ShowS # | |
Eq PackagePath Source # | |
Defined in Distribution.Solver.Types.PackagePath (==) :: PackagePath -> PackagePath -> Bool # (/=) :: PackagePath -> PackagePath -> Bool # | |
Ord PackagePath Source # | |
Defined in Distribution.Solver.Types.PackagePath compare :: PackagePath -> PackagePath -> Ordering # (<) :: PackagePath -> PackagePath -> Bool # (<=) :: PackagePath -> PackagePath -> Bool # (>) :: PackagePath -> PackagePath -> Bool # (>=) :: PackagePath -> PackagePath -> Bool # max :: PackagePath -> PackagePath -> PackagePath # min :: PackagePath -> PackagePath -> PackagePath # |
Top-level namespace
Package choices in different namespaces are considered completely independent by the solver.
DefaultNamespace | The default namespace |
Independent PackageName | A namespace for a specific build target |
Qualifier of a package within a namespace (see PackagePath
)
QualToplevel | Top-level dependency in this namespace |
QualBase PackageName | Any dependency on base is considered independent This makes it possible to have base shims. |
QualSetup PackageName | Setup dependency By rights setup dependencies ought to be nestable; after all, the setup dependencies of a package might themselves have setup dependencies, which are independent from everything else. However, this very quickly leads to infinite search trees in the solver. Therefore we limit ourselves to a single qualifier (within a given namespace). |
QualExe PackageName PackageName | If we depend on an executable from a package (via
|
dispQualifier :: Qualifier -> Doc Source #
Pretty-prints a qualifier. The result is either empty or ends in a period, so it can be prepended onto a package name.
NOTE: the base qualifier is for a dependency _on_ base; the qualifier is
there to make sure different dependencies on base are all independent.
So we want to print something like "A.base"
, where the "A."
part
is the qualifier and "base"
is the actual dependency (which, for the
Base
qualifier, will always be base
).
A qualified entity. Pairs a package path with the entity.
Q PackagePath a |
Instances
Show a => Show (Qualified a) Source # | |
Eq a => Eq (Qualified a) Source # | |
Ord a => Ord (Qualified a) Source # | |
Defined in Distribution.Solver.Types.PackagePath |
type QPN = Qualified PackageName Source #
Qualified package name.