[Haskell-cafe] Safe way to parse arguments?
dan.doel at gmail.com
Sat Jun 21 17:37:24 EDT 2008
On Saturday 21 June 2008, Don Stewart wrote:
> maybeRead :: Read a => String -> Maybe a
> maybeRead s = case reads s of
> [(x, "")] -> Just x
> _ -> Nothing
Note, if you want to match the behavior of read, you'll probably want
maybeRead :: Read a => String -> Maybe a
maybeRead s = case reads s of
[(x, str)] | all isSpace str -> Just x
_ -> Nothing
Otherwise, trailing spaces will yield a bad parse.
More information about the Haskell-Cafe