[Haskell-beginners] [IO String] to IO [String]
tonymorris at gmail.com
Sun Mar 31 12:23:14 CEST 2013
You can use sequence which will turn your [IO String] into a IO
[String]. If you want to "map a function" along the way, you can use
mapM (or traverse):
mapM :: (String -> IO b) -> [IO String] -> IO [b]
For further reading, there is a paper about this function called The
Essence of the Iterator Pattern.
On 31/03/13 20:19, Ovidiu D wrote:
> I have the function f which reads lines form the stdin and looks like
> f :: [IO String]
> f = getLine : f
> What I don't like is the fact that the line processing I'm doing will
> have to be in the IO Monad
> I would like to make this function to have the signature
> f : IO [String]
> ...such that I can get rid of the IO monad and pass the pure string
> list to the processing function.
> Can I do this?
> Beginners mailing list
> Beginners at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Beginners