
L.S., Now that GHC exports "readMaybe :: Read a => String -> Maybe a" from Text.Read (which I think should be exported from a more obvious/newbie friendly place, btw. Maybe Prelude?) I'd like to propose a similar companion for "readLn :: Read a => IO a" along the lines of "maybeReadLn :: Read a => IO (Maybe a)". This would be very convenient for quick hacks and to get newcomers playing with IO without having to bother with handling exceptions from misparses of readLn. I'm not sure about the name, some options are: readLnMaybe, readMaybeLn, maybeReadLn Kind regards, Merijn

On Sat, Feb 23, 2013 at 12:20:33PM +0100, Merijn Verstraaten wrote:
L.S.,
Now that GHC exports "readMaybe :: Read a => String -> Maybe a" from Text.Read (which I think should be exported from a more obvious/newbie friendly place, btw. Maybe Prelude?) I'd like to propose a similar companion for "readLn :: Read a => IO a" along the lines of "maybeReadLn :: Read a => IO (Maybe a)". This would be very convenient for quick hacks and to get newcomers playing with IO without having to bother with handling exceptions from misparses of readLn. I'm not sure about the name, some options are: readLnMaybe, readMaybeLn, maybeReadLn
+1. (Also +1 to exporting readMaybe from the Prelude.) Given that we already have 'readMaybe' it seems the only logical/consistent name for this would be 'readLnMaybe'. -Brent
participants (2)
-
Brent Yorgey
-
Merijn Verstraaten