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