Skip to content

Commit aa6bf8e

Browse files
Merge pull request #275 from haskell/avoid-init-and-last
Avoid partial functions Data.List.init and Data.List.last
2 parents d18aa30 + 4cb0be1 commit aa6bf8e

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

lib/Data/Format.hs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -227,11 +227,11 @@ zeroPad Nothing s = s
227227
zeroPad (Just i) s = replicate (i - length s) '0' ++ s
228228

229229
trimTrailing :: String -> String
230-
trimTrailing "" = ""
231-
trimTrailing "." = ""
232-
trimTrailing s
233-
| last s == '0' = trimTrailing $ init s
234-
trimTrailing s = s
230+
trimTrailing
231+
= (\s -> if s == "." then "" else s)
232+
. reverse
233+
. dropWhile (== '0')
234+
. reverse
235235

236236
showNumber :: Show t => SignOption -> Maybe Int -> t -> Maybe String
237237
showNumber signOpt mdigitcount t =

0 commit comments

Comments
 (0)