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

Reply via email to