remove read of the heads

and one tail

Removed head from Utility.PartialPrelude in order to avoid the build
warning with recent ghc versions as well.
This commit is contained in:
Joey Hess 2024-09-26 18:43:59 -04:00
parent 10216b44d2
commit 4ca3d1d584
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
12 changed files with 32 additions and 42 deletions

View file

@ -180,16 +180,16 @@ compareSizes units abbrev old new
{- Parses strings like "10 kilobytes" or "0.5tb". -}
readSize :: [Unit] -> String -> Maybe ByteSize
readSize units input
| null parsednum || null parsedunit = Nothing
| otherwise = Just $ round $ number * fromIntegral multiplier
readSize units input = case parsednum of
[] -> Nothing
((number, rest):_) ->
let unitname = takeWhile isAlpha $ dropWhile isSpace rest
in case lookupUnit units unitname of
[] -> Nothing
(multiplier:_) ->
Just $ round $ number * fromIntegral multiplier
where
(number, rest) = head parsednum
multiplier = head parsedunit
unitname = takeWhile isAlpha $ dropWhile isSpace rest
parsednum = reads input :: [(Double, String)]
parsedunit = lookupUnit units unitname
lookupUnit _ [] = [1] -- no unit given, assume bytes
lookupUnit [] _ = []