Dan Weston wrote:
Now I'm confused (which happens quite a lot, I'm afraid!)

Prelude> readFile undefined
*** Exception: Prelude.undefined

Prelude> readFile undefined >>= \cs -> putStrLn "Hello"
*** Exception: Prelude.undefined

It seems that readFile is strict in its argument. As for getLine, it has no argument to be strict in.


This is the confusion between strict/lazy in the ordinary language semantics sense, and strictIO/ lazyBrokenDangerousHereBeGremlinsSemanticallyUnsoundIO

Jules
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to