[Haskell-cafe] Need some advice around lazy IO

Kim-Ee Yeoh ky3 at atamo.com
Tue Mar 19 08:41:39 CET 2013


On Tue, Mar 19, 2013 at 2:01 PM, Konstantin Litvinenko
<to.darkangel at gmail.com> wrote:
> Yes. You (and Dan) are totally right. 'Let' just bind expression, not
> evaluating it. Dan's evaluate trick force rnf to run before hClose. As I
> said - it's tricky part especially for newbie like me :)

To place this in perspective, one only needs to descend one or two
more layers before the semantics starts confusing even experts.

Whereas the difference between seq and evaluate shouldn't be too hard
to grasp, that between evaluate and (return $!) is considerably more
subtle, as Edward Yang notified us 10 days ago. See the thread titled
To seq or not to seq.

-- Kim-Ee



More information about the Haskell-Cafe mailing list