summaryrefslogtreecommitdiff
path: root/Utility/DottedVersion.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Utility/DottedVersion.hs')
-rw-r--r--Utility/DottedVersion.hs13
1 files changed, 10 insertions, 3 deletions
diff --git a/Utility/DottedVersion.hs b/Utility/DottedVersion.hs
index ebf4c0b..dff3717 100644
--- a/Utility/DottedVersion.hs
+++ b/Utility/DottedVersion.hs
@@ -7,7 +7,11 @@
{-# OPTIONS_GHC -fno-warn-tabs #-}
-module Utility.DottedVersion where
+module Utility.DottedVersion (
+ DottedVersion,
+ fromDottedVersion,
+ normalize,
+) where
import Common
@@ -18,14 +22,17 @@ instance Ord DottedVersion where
compare (DottedVersion _ x) (DottedVersion _ y) = compare x y
instance Show DottedVersion where
- show (DottedVersion s _) = s
+ show = fromDottedVersion
+
+fromDottedVersion :: DottedVersion -> String
+fromDottedVersion (DottedVersion s _) = s
{- To compare dotted versions like 1.7.7 and 1.8, they are normalized to
- a somewhat arbitrary integer representation. -}
normalize :: String -> DottedVersion
normalize v = DottedVersion v $
sum $ mult 1 $ reverse $ extend precision $ take precision $
- map readi $ split "." v
+ map readi $ splitc '.' v
where
extend n l = l ++ replicate (n - length l) 0
mult _ [] = []