[Haskell-cafe] ReadS with Maybe
Jon Cast
jcast at ou.edu
Wed Jan 5 11:11:22 EST 2005
Henning Thielemann <lemming at henning-thielemann.de> 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.
List is a backtracking monad, while Maybe is merely an error monad. You
have to have backtracking to bet better than LL(1) or LR(1) parsing, and
LL(1) is not an acceptable restriction for a fundamental function like
read.
Jonathan Cast
More information about the Haskell-Cafe
mailing list