
My point is that I am reading in name/value pairs and once I know the name, I know the type of the value, but I don't want to have to pass that information programatically to the point in the code where I am doing the read. -Alex- On Mon, 12 Apr 2004, Sven Panne wrote:
S. Alexander Jacobson wrote:
I want to read strings that look like "2" or "hello" into values of type Integer or String. The problem is that read requires that strings be read as "\"hello\"". Is there a way either to convince read to not require wrapping quotation marks or, alternetively, to catch a read exception, and do something sane?
"reads" is probably what you are looking for:
Prelude> (reads :: ReadS Integer) "" [] Prelude> (reads :: ReadS Integer) "a" [] Prelude> (reads :: ReadS Integer) "2" [(2,"")] Prelude> (reads :: ReadS Integer) "123blah" [(123,"blah")]
And reading a string the way you want is best done by "id". :-)
Cheers, S.
_________________________________________________________________ S. Alexander Jacobson mailto:me@alexjacobson.com tel:917-770-6565 http://alexjacobson.com