
I see. anyway, my use case is something like this-
I have two functions
fromFile :: [String] -> [Int]
func :: String -> [Int]
I want to use the "words contents" output and pass each element in it to
func and send back [Int] from "fromFile" function (where I originally read
the file.)
Could you suggest a better way to do this?
Quoting Ian Denhardt
On Wed, 27 Mar, 2019, 9:13 AM Ian Denhardt,
It would help to see the complete source file, but I'll hazard a guess you're doing something like:
main = do contents <- readFile "file.txt" words contents
At the GHCi prompt, each line can be any expression, and GHCi will evaluate it and then display it. The two lines in your session aren't really related.
In contrast, the do block in the source file expects the expression at the end to be an IO action.
What do you want your program to do when you get to "words contents"? display it? (If you want to display it, pass it to `print`).
Quoting Yugesh Kothari (2019-03-26 23:35:14)
Hi,� I am trying to read data from a file. When I do- ghci> contents <- readFile "file.txt" ghci> words contents Then everything works. The same thing when done in a .hs file gives an IO String vs [String] error. Why is that so?