, tryRead
, formatTable
, annotateResult
+ , defaultGroupID
) where
import Control.Monad (liftM)
commaJoin :: [String] -> String
commaJoin = intercalate ","
--- | Split a string on a separator and return an array.
-sepSplit :: Char -> String -> [String]
+-- | Split a list on a separator and return an array.
+sepSplit :: Eq a => a -> [a] -> [[a]]
sepSplit sep s
- | x == "" && xs == [] = []
- | xs == [] = [x]
- | ys == [] = [x,""]
- | otherwise = x:sepSplit sep ys
+ | null s = []
+ | null xs = [x]
+ | null ys = [x,[]]
+ | otherwise = x:sepSplit sep ys
where (x, xs) = break (== sep) s
ys = drop 1 xs
) flds
) (zip3 vtrans numpos mlens)
in transpose expnd
+
+-- | Default group UUID (just a string, not a real UUID)
+defaultGroupID :: GroupID
+defaultGroupID = "00000000-0000-0000-0000-000000000000"