Distribution.Types.PackageId

Cabal-3.0.1.0: A framework for packaging Haskell software

Safe Haskell | None
Language | Haskell2010

Distribution.Types.PackageId

Synopsis

- data PackageIdentifier = PackageIdentifier {
  - pkgName :: PackageName
  - pkgVersion :: Version
  }
- type PackageId = PackageIdentifier

# Documentation

data PackageIdentifier Source #

The name and version of a package.

Constructors

PackageIdentifier |
Fields pkgName :: PackageName The name of this package, eg. foo pkgVersion :: Version the version of this package, eg 1.2

#### Instances

Instances details

Eq PackageIdentifier # |
Instance details Defined in Distribution.Types.PackageId Methods (==) :: PackageIdentifier -> PackageIdentifier -> Bool # (/=) :: PackageIdentifier -> PackageIdentifier -> Bool #
Data PackageIdentifier # |
Instance details Defined in Distribution.Types.PackageId Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PackageIdentifier -> c PackageIdentifier Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PackageIdentifier Source # toConstr :: PackageIdentifier -> Constr Source # dataTypeOf :: PackageIdentifier -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PackageIdentifier) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PackageIdentifier) Source # gmapT :: (forall b. Data b => b -> b) -> PackageIdentifier -> PackageIdentifier Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PackageIdentifier -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PackageIdentifier -> r Source # gmapQ :: (forall d. Data d => d -> u) -> PackageIdentifier -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> PackageIdentifier -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PackageIdentifier -> m PackageIdentifier Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageIdentifier -> m PackageIdentifier Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageIdentifier -> m PackageIdentifier Source #
Ord PackageIdentifier # |
Instance details Defined in Distribution.Types.PackageId Methods compare :: PackageIdentifier -> PackageIdentifier -> Ordering # (<) :: PackageIdentifier -> PackageIdentifier -> Bool # (<=) :: PackageIdentifier -> PackageIdentifier -> Bool # (>) :: PackageIdentifier -> PackageIdentifier -> Bool # (>=) :: PackageIdentifier -> PackageIdentifier -> Bool # max :: PackageIdentifier -> PackageIdentifier -> PackageIdentifier # min :: PackageIdentifier -> PackageIdentifier -> PackageIdentifier #
Read PackageIdentifier # |
Instance details Defined in Distribution.Types.PackageId Methods readsPrec :: Int -> ReadS PackageIdentifier Source # readList :: ReadS [PackageIdentifier] Source # readPrec :: ReadPrec PackageIdentifier Source # readListPrec :: ReadPrec [PackageIdentifier] Source #
Show PackageIdentifier # |
Instance details Defined in Distribution.Types.PackageId Methods showsPrec :: Int -> PackageIdentifier -> ShowS Source # show :: PackageIdentifier -> String Source # showList :: [PackageIdentifier] -> ShowS Source #
Generic PackageIdentifier # |
Instance details Defined in Distribution.Types.PackageId Associated Types type Rep PackageIdentifier :: Type -> Type Source # Methods from :: PackageIdentifier -> Rep PackageIdentifier x Source # to :: Rep PackageIdentifier x -> PackageIdentifier Source #
Binary PackageIdentifier # |
Instance details Defined in Distribution.Types.PackageId Methods put :: PackageIdentifier -> Put Source # get :: Get PackageIdentifier Source # putList :: [PackageIdentifier] -> Put Source #
NFData PackageIdentifier # |
Instance details Defined in Distribution.Types.PackageId Methods rnf :: PackageIdentifier -> () Source #
Pretty PackageIdentifier # |
Instance details Defined in Distribution.Types.PackageId Methods pretty :: PackageIdentifier -> Doc Source # prettyVersioned :: CabalSpecVersion -> PackageIdentifier -> Doc Source #
Parsec PackageIdentifier # |
    >>> simpleParsec "foo-bar-0" :: Maybe PackageIdentifier
    Just (PackageIdentifier {pkgName = PackageName "foo-bar", pkgVersion = mkVersion [0]})
    >>> simpleParsec "foo-bar" :: Maybe PackageIdentifier
    Just (PackageIdentifier {pkgName = PackageName "foo-bar", pkgVersion = mkVersion []})
Note: Stricter than `Text` instance
    >>> simpleParsec "foo-bar-0-0" :: Maybe PackageIdentifier
    Nothing
    >>> simpleParsec "foo-bar.0" :: Maybe PackageIdentifier
    Nothing
    >>> simpleParsec "foo-bar.4-2" :: Maybe PackageIdentifier
    Nothing
    >>> simpleParsec "1.2.3" :: Maybe PackageIdentifier
    Nothing
Instance details Defined in Distribution.Types.PackageId Methods parsec :: CabalParsing m => m PackageIdentifier Source #
Package PackageIdentifier # |
Instance details Defined in Distribution.Package Methods packageId :: PackageIdentifier -> PackageIdentifier Source #
type Rep PackageIdentifier # |
Instance details Defined in Distribution.Types.PackageId type Rep PackageIdentifier = D1 ('MetaData "PackageIdentifier" "Distribution.Types.PackageId" "Cabal-3.0.1.0" 'False) (C1 ('MetaCons "PackageIdentifier" 'PrefixI 'True) (S1 ('MetaSel ('Just "pkgName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: S1 ('MetaSel ('Just "pkgVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version)))

type PackageId = PackageIdentifier Source #

Type alias so we can use the shorter name PackageId.