News for hackers. Stuff that matters.
Re:Haskell IO for Imperative Programmers by jfoutz on Monday November 09, 2009 @10:11AM (#930999)
It's just getContents (and brother hGetContents).

Using getContents is fine for a quick way to slurp in a file, but it's like doing a read without checking for -1. Since haskell is lazy, figuring out why an underlying read failed can be fairly confusing.

If you think your program is doing IO and there's no IO type getting in the way, unsafePerformIO is lurking in the darkness.

Re:Haskell IO for Imperative Programmers by camccann on Monday November 09, 2009 @11:14AM (#931146)
Well, I was confused because getContents seems to be of type "IO String": http://www.haskell.org/ghc/docs/latest/html/libraries/base/P...

I can see why a lazy input stream could make things opaque even in a completely type-safe program, though.