[Haskell] Re: IO functions reference?

Creighton Hogg wchogg at lotus.hep.wisc.edu
Tue Sep 27 10:48:14 EDT 2005


On Tue, 27 Sep 2005, Ketil Malde wrote:

> Creighton Hogg <wchogg at lotus.hep.wisc.edu> writes:
> 
> > So I looked to see if there were any standard functions for 
> > taking an input line and turning it into a list, and I 
> > couldn't find any.  How would one do this in Haskell?  I 
> > just want to parse the line into a list of strings, and 
> > from there recover the numbers from the strings.
> 
> In other words, you want to split "lines" into "words" and "read"
> numbers from the result?  Perhaps you should check the Prelude again.

Well don't I feel silly.  I'll RTFM next time instead of 
just skimming the type signatures.
 
> > That doesn't seem easy though, unelss there's something I'm 
> > missing.
> 
> Reading from and writing to the outside world must take place in the
> IO monad.  The parsing and other manipulation can be done by
> functions, use e.g. "let" in the IO code to construct intermediate
> values. 
> 
> E.g., main can look like:
> 
> main = do
>      f <- readFile "table.txt"
>      let x = my_parse_function f
>      putStrLn x
> 
> my_parse_function :: String -> String
> ...

Okay this is a bit more clear to me now, thanks.


More information about the Haskell mailing list