+
+-- | Format a number as a string using a comma as the thousands
+-- separator.
+--
+-- Examples:
+--
+-- >>> format_commas 0
+-- "0"
+-- >>> format_commas 10
+-- "10"
+-- >>> format_commas 100
+-- "100"
+-- >>> format_commas 1000
+-- "1,000"
+-- >>> format_commas 10000
+-- "10,000"
+-- >>> format_commas 100000
+-- "100,000"
+-- >>> format_commas 1000000
+-- "1,000,000"
+--
+format_commas :: Int -> String
+format_commas x =
+ reverse (intercalate "," $ chunksOf 3 $ reverse $ show x)
+