Construct a PackageName from a String
mkPackageName is the inverse to unPackageName
Note: No validations are performed to ensure that the resulting PackageName is valid
:: a typeCtrl KGHC 10.0.0.20260917 · master · 5ff592b · 2026-10-19
Modulecabal-install-solver-3.18.1.0
Construct a PackageName from a String
mkPackageName is the inverse to unPackageName
Note: No validations are performed to ensure that the resulting PackageName is valid
Convert PackageName to String
Construct a PkgconfigName from a String
mkPkgconfigName is the inverse to unPkgconfigName
Note: No validations are performed to ensure that the resulting PkgconfigName is valid
Convert PkgconfigName to String
Type alias so we can use the shorter name PackageId.
The name and version of a package.
PackageIdentifierpkgName :: PackageNameThe name of this package, eg. foo
pkgVersion :: Versionthe version of this package, eg 1.2
Eq PackageIdentifierDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageIdData PackageIdentifierDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageIdOrd PackageIdentifierDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageIdRead PackageIdentifierDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageIdShow PackageIdentifierDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageIdGeneric PackageIdentifierDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageIdNFData PackageIdentifierDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageIdBinary PackageIdentifierDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageIdParsec PackageIdentifierDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageIdsimpleParsec "foo-bar-0" :: Maybe PackageIdentifierJust (PackageIdentifier {pkgName = PackageName "foo-bar", pkgVersion = mkVersion [0]})
simpleParsec "foo-bar" :: Maybe PackageIdentifierJust (PackageIdentifier {pkgName = PackageName "foo-bar", pkgVersion = mkVersion []})
Note: Stricter than Text instance
simpleParsec "foo-bar-0-0" :: Maybe PackageIdentifierNothing
simpleParsec "foo-bar.0" :: Maybe PackageIdentifierNothing
simpleParsec "foo-bar.4-2" :: Maybe PackageIdentifierNothing
simpleParsec "1.2.3" :: Maybe PackageIdentifierNothing
Pretty PackageIdentifierDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageIdStructured PackageIdentifierDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageIdPackage PackageIdentifierDefined in Cabal-syntax-3.18.1.0 · Distribution.Packagetype Rep PackageIdentifier = D1 ('MetaData "PackageIdentifier"
"Distribution.Types.PackageId"
"Cabal-syntax-3.18.1.0-046d"
'False) (C1 ('MetaCons "PackageIdentifier"
'PrefixI 'True) (S1 ('MetaSel ('Just "pkgName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: S1 ('MetaSel ('Just "pkgVersion"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version)))Defined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageIdA package name.
Use mkPackageName and unPackageName to convert from/to a String.
This type is opaque since Cabal-2.0
Eq PackageNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageNameData PackageNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageNameOrd PackageNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageNameRead PackageNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageNameShow PackageNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageNameIsString PackageNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageNameGeneric PackageNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageNameNFData PackageNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageNameBinary PackageNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageNameParsec PackageNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageNamePretty PackageNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageNameStructured PackageNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageNametype Rep PackageName = D1 ('MetaData "PackageName"
"Distribution.Types.PackageName"
"Cabal-syntax-3.18.1.0-046d"
'True) (C1 ('MetaCons "PackageName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortText)))Defined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageNameA pkg-config library name
This is parsed as any valid argument to the pkg-config utility.
Eq PkgconfigNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PkgconfigNameData PkgconfigNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PkgconfigNameOrd PkgconfigNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PkgconfigNameRead PkgconfigNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PkgconfigNameShow PkgconfigNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PkgconfigNameIsString PkgconfigNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PkgconfigNameGeneric PkgconfigNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PkgconfigNameNFData PkgconfigNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PkgconfigNameBinary PkgconfigNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PkgconfigNameParsec PkgconfigNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PkgconfigNamePretty PkgconfigNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PkgconfigNameStructured PkgconfigNameDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PkgconfigNametype Rep PkgconfigName = D1 ('MetaData "PkgconfigName"
"Distribution.Types.PkgconfigName"
"Cabal-syntax-3.18.1.0-046d"
'True) (C1 ('MetaCons "PkgconfigName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortText)))Defined in Cabal-syntax-3.18.1.0 · Distribution.Types.PkgconfigNameFunctor PIDefined in cabal-install-solver-3.18.1.0 · Distribution.Solver.Modular.PackageEq qpn => Eq (PI qpn)Defined in cabal-install-solver-3.18.1.0 · Distribution.Solver.Modular.PackageOrd qpn => Ord (PI qpn)Defined in cabal-install-solver-3.18.1.0 · Distribution.Solver.Modular.PackageShow qpn => Show (PI qpn)Defined in cabal-install-solver-3.18.1.0 · Distribution.Solver.Modular.Package