[Haskell-cafe] ReadS with Maybe

John Meacham john at repetae.net
Tue Jan 4 21:44:11 EST 2005

On Mon, Jan 03, 2005 at 08:48:26PM +0100, 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.

I always wondered why we have 
readIO :: Read a => String -> IO a
instead of the absurdly more useful and strictly superior
readM :: (Monad m,Read a) => String -> m a

then we can just readM as a list, a maybe, in IO, for pattern matching in
arbitrary monads... sigh.  

I think I am just a real fan of type classes when it comes to code reuse


John Meacham - ⑆repetae.net⑆john⑈ 

More information about the Haskell-Cafe mailing list