
4 Jan
2005
4 Jan
'05
9:44 p.m.
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 -- John Meacham - ⑆repetae.net⑆john⑈