NumParser.hs 433 B

12345678910111213141516171819
  1. {-- ======================================================================== -}
  2. module NumParser where
  3. --import Data.Char
  4. --import Text.Read
  5. {-Check if a [Char] is a number.-}
  6. validNumber :: String -> Bool
  7. validNumber str =
  8. case (reads str) :: [(Integer, String)] of
  9. [(_, "")] -> True
  10. _ -> False
  11. toInt :: String -> Integer -> Integer
  12. toInt x y
  13. | length x > 0 && validNumber x = read x
  14. | otherwise = y