MissingK-0.0.0.2: src/Data/ExtraVersion.hs
module Data.ExtraVersion where
data Version = Version
{ vMajor :: Int
, vMinor :: Int
, vStatus :: VersionStatus
, vIter :: Int
}
deriving (Eq, Ord, Show, Read)
data VersionStatus = None
| Alpha
| Beta
| ReleaseCandidate
| Final
deriving (Eq, Ord, Show, Enum, Read)
versionToString :: Version -> String
versionToString v = mj ++ "." ++ mn ++ "-" ++ st ++ it
where mj = show $ vMajor v
mn = show $ vMinor v
st = case vStatus v of
Alpha -> "alpha"
Beta -> "beta"
ReleaseCandidate -> "rc"
Final -> "r"
None -> ""
it = show $ vIter v