From the GHC docs:
type ReadS a = String -> [(a, String)]
A parser for a type a, represented as a function that takes a String and returns a list of possible parses (a,String) pairs.
So it returns all possible parses, hence the list. This is useful if the encoding is ambiguous.
Henning Thielemann wrote:
What is the reason for the definition
ReadS a = [(a, String)]
not being
ReadS a = Maybe (a, String)
? The latter one reflects that either one or no value is read, whereas the first definition allows an arbitrary number of read values which is confusing and unsafe in my opinion.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe