where
fmt' :: Int -> String
fmt' m
- | m < base = (intToChar upperCase m) : []
+ | m < base = [intToChar upperCase m]
| otherwise = (intToChar upperCase $! m `mod` base) : fmt' (m `div` base)
fmtDec2 :: Int -> String
fmtDec2 n
| n < 0 || n >= 100 = fmtInt 10 undefined 2 '0' False n -- fallback
- | n < 10 = '0'
- : intToChar undefined n
- : []
- | otherwise = intToChar undefined (n `div` 10)
- : intToChar undefined (n `mod` 10)
- : []
+ | n < 10 = [ '0'
+ , intToChar undefined n
+ ]
+ | otherwise = [ intToChar undefined (n `div` 10)
+ , intToChar undefined (n `mod` 10)
+ ]
fmtDec3 :: Int -> String
fmtDec3 n
| n < 0 || n >= 1000 = fmtInt 10 undefined 3 '0' False n -- fallback
- | n < 10 = '0' : '0'
- : intToChar undefined n
- : []
- | n < 100 = '0'
- : intToChar undefined ((n `div` 10) `mod` 10)
- : intToChar undefined ( n `mod` 10)
- : []
- | otherwise = intToChar undefined ((n `div` 100) `mod` 10)
- : intToChar undefined ((n `div` 10) `mod` 10)
- : intToChar undefined ( n `mod` 10)
- : []
+ | n < 10 = [ '0'
+ , '0'
+ , intToChar undefined n
+ ]
+ | n < 100 = [ '0'
+ , intToChar undefined ((n `div` 10) `mod` 10)
+ , intToChar undefined ( n `mod` 10)
+ ]
+ | otherwise = [ intToChar undefined ((n `div` 100) `mod` 10)
+ , intToChar undefined ((n `div` 10) `mod` 10)
+ , intToChar undefined ( n `mod` 10)
+ ]
fmtDec4 :: Int -> String
fmtDec4 n
| n < 0 || n >= 10000 = fmtInt 10 undefined 4 '0' False n -- fallback
- | n < 10 = '0' : '0' : '0'
- : intToChar undefined n
- : []
- | n < 100 = '0' : '0'
- : intToChar undefined ((n `div` 10) `mod` 10)
- : intToChar undefined ( n `mod` 10)
- : []
- | n < 1000 = '0'
- : intToChar undefined ((n `div` 100) `mod` 10)
- : intToChar undefined ((n `div` 10) `mod` 10)
- : intToChar undefined ( n `mod` 10)
- : []
- | otherwise = intToChar undefined ((n `div` 1000) `mod` 10)
- : intToChar undefined ((n `div` 100) `mod` 10)
- : intToChar undefined ((n `div` 10) `mod` 10)
- : intToChar undefined ( n `mod` 10)
- : []
+ | n < 10 = [ '0'
+ , '0'
+ , '0'
+ , intToChar undefined n
+ ]
+ | n < 100 = [ '0'
+ , '0'
+ , intToChar undefined ((n `div` 10) `mod` 10)
+ , intToChar undefined ( n `mod` 10)
+ ]
+ | n < 1000 = [ '0'
+ , intToChar undefined ((n `div` 100) `mod` 10)
+ , intToChar undefined ((n `div` 10) `mod` 10)
+ , intToChar undefined ( n `mod` 10)
+ ]
+ | otherwise = [ intToChar undefined ((n `div` 1000) `mod` 10)
+ , intToChar undefined ((n `div` 100) `mod` 10)
+ , intToChar undefined ((n `div` 10) `mod` 10)
+ , intToChar undefined ( n `mod` 10)
+ ]
fmtHex :: Bool -> Int -> Int -> String