[Haskell-cafe] Need some advice around lazy IO

C K Kashyap ckkashyap at gmail.com
Fri Mar 22 15:42:53 CET 2013


Hi folks,

I've run into more issues with my report generation tool .... I'd really
appreciate some help.

I've created a repro project on github to demonstrate the problem.
git://github.com/ckkashyap/haskell-perf-repro.git

There is a template xml file that needs to be replicated several times
(3000 or so) under the data directory and then "driver" needs to be run.
The memory used by driver keeps growing until it runs out of memory.

Also, I'd appreciate some tips on how to go about debugging this situation.
I am on the windows platform.


Regards,
Kashyap


On Tue, Mar 19, 2013 at 1:11 PM, Kim-Ee Yeoh <ky3 at atamo.com> wrote:

> 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
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130322/98c947c3/attachment.htm>


More information about the Haskell-Cafe mailing list