Safe Haskell | None |
---|---|
Language | Haskell98 |
Debian.Version
Description
A module for parsing, comparing, and (eventually) modifying debian version numbers. http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version
Synopsis
- data DebianVersion
- prettyDebianVersion :: DebianVersion -> Doc
- parseDebianVersion :: ParseDebianVersion a => a -> Either ParseError DebianVersion
- parseDebianVersion' :: ParseDebianVersion string => string -> DebianVersion
- epoch :: DebianVersion -> Maybe Int
- version :: DebianVersion -> String
- revision :: DebianVersion -> Maybe String
- buildDebianVersion :: Maybe Int -> String -> Maybe String -> DebianVersion
- evr :: DebianVersion -> (Maybe Int, String, Maybe String)
Documentation
data DebianVersion Source #
Instances
Eq DebianVersion | |
Defined in Debian.Version.Common | |
Data DebianVersion Source # | |
Defined in Debian.Version.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DebianVersion -> c DebianVersion gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DebianVersion toConstr :: DebianVersion -> Constr dataTypeOf :: DebianVersion -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DebianVersion) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DebianVersion) gmapT :: (forall b. Data b => b -> b) -> DebianVersion -> DebianVersion gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DebianVersion -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DebianVersion -> r gmapQ :: (forall d. Data d => d -> u) -> DebianVersion -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> DebianVersion -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> DebianVersion -> m DebianVersion gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DebianVersion -> m DebianVersion gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DebianVersion -> m DebianVersion | |
Ord DebianVersion | |
Defined in Debian.Version.Common Methods compare :: DebianVersion -> DebianVersion -> Ordering (<) :: DebianVersion -> DebianVersion -> Bool (<=) :: DebianVersion -> DebianVersion -> Bool (>) :: DebianVersion -> DebianVersion -> Bool (>=) :: DebianVersion -> DebianVersion -> Bool max :: DebianVersion -> DebianVersion -> DebianVersion min :: DebianVersion -> DebianVersion -> DebianVersion | |
Read DebianVersion | |
Defined in Debian.Version.String Methods readsPrec :: Int -> ReadS DebianVersion readList :: ReadS [DebianVersion] readPrec :: ReadPrec DebianVersion readListPrec :: ReadPrec [DebianVersion] | |
Show DebianVersion | |
Defined in Debian.Version.Common Methods showsPrec :: Int -> DebianVersion -> ShowS show :: DebianVersion -> String showList :: [DebianVersion] -> ShowS | |
Pretty (PP DebianVersion) | |
Defined in Debian.Version.Common Methods pretty :: PP DebianVersion -> Doc prettyVersioned :: CabalSpecVersion -> PP DebianVersion -> Doc |
Exported abstract because the internal representation is likely to change
prettyDebianVersion :: DebianVersion -> Doc Source #
parseDebianVersion :: ParseDebianVersion a => a -> Either ParseError DebianVersion Source #
parseDebianVersion' :: ParseDebianVersion string => string -> DebianVersion Source #
Convert a string to a debian version number. May throw an exception if the string is unparsable -- but I am not sure if that can currently happen. Are there any invalid version strings? Perhaps ones with underscore, or something?
epoch :: DebianVersion -> Maybe Int Source #
version :: DebianVersion -> String Source #
revision :: DebianVersion -> Maybe String Source #
buildDebianVersion :: Maybe Int -> String -> Maybe String -> DebianVersion Source #
evr :: DebianVersion -> (Maybe Int, String, Maybe String) Source #
Split a DebianVersion into its three components: epoch, version, revision. It is not safe to use the parsed version number for this because you will lose information, such as leading zeros.