There is well-known function read :: Read a => String -> a. Many blogs tell you to use "read" to convert string to number or something else (if it's a instance of Read class).
There are 3 problems.
- Prelude Exception is told obsolete. use Control.Exception instead.
- "read" produces Prelude.Exception.
- In many case you are not sure you feed good stuff to "read".
In that case, use readMaybe :: Read a => String -> Maybe a. If you are not sure about Maybe, you should learn for your hereafter.