Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data Version
- mkVersion :: [Int] -> Version
- mkVersion' :: Version -> Version
- versionNumbers :: Version -> [Int]
- nullVersion :: Version
- alterVersion :: ([Int] -> [Int]) -> Version -> Version
- version0 :: Version
- validVersion :: Version -> Bool
- versionDigitParser :: CabalParsing m => m Int
Package versions
A Version
represents the version of a software entity.
Instances of Eq
and Ord
are provided, which gives exact
equality and lexicographic ordering of the version number
components (i.e. 2.1 > 2.0, 1.2.3 > 1.2.2, etc.).
This type is opaque and distinct from the Version
type in
Data.Version since Cabal-2.0
. The difference extends to the
Binary
instance using a different (and more compact) encoding.
Since: 2.0.0.2
Instances
mkVersion :: [Int] -> Version Source #
Construct Version
from list of version number components.
For instance, mkVersion [3,2,1]
constructs a Version
representing the version 3.2.1
.
All version components must be non-negative. mkVersion []
currently represents the special null version; see also nullVersion
.
Since: 2.0.0.2
mkVersion' :: Version -> Version Source #
Variant of mkVersion
which converts a Data.Version
Version
into Cabal's Version
type.
Since: 2.0.0.2
versionNumbers :: Version -> [Int] Source #
nullVersion :: Version Source #
Constant representing the special null Version
The nullVersion
compares (via Ord
) as less than every proper
Version
value.
Since: 2.0.0.2
alterVersion :: ([Int] -> [Int]) -> Version -> Version Source #
Apply function to list of version number components
alterVersion f == mkVersion . f . versionNumbers
Since: 2.0.0.2
Internal
validVersion :: Version -> Bool Source #
versionDigitParser :: CabalParsing m => m Int Source #
An integral without leading zeroes.
Since: 3.0