[Haskell-cafe] Long running Haskell program

Matthew Pocock matthew.pocock at ncl.ac.uk
Wed Nov 11 13:09:54 EST 2009


Is there a state monad that is strict on the state but lazy on the
computation? Of course, strictness in the state will force a portion of the
computation to be run, but there may be significant portions of it which are
not run. Would there be a way to write a state monad such that it is
entirely lazy, but then to wrap either the computation or the state in an
'eager' strategy datatype which takes care of this in a more flexible
manner?

Thanks,

Matthew

2009/11/11 Bryan O'Sullivan <bos at serpentine.com>

> On Wed, Nov 11, 2009 at 7:43 AM, David Leimbach <leimy2k at gmail.com> wrote:
>
>>
>> I recently ran into some serious space leak difficulties that would
>> ultimately cause this program to crash some time after startup (my simulator
>> is also written in Haskell, and runs a LOT faster than the real application
>> ever could, this has enabled me to fast forward a bit the data growth issues
>> and crash in minutes instead of days!)
>>
>
> It sounds to me like you were storing a Map in a StateT. Since the usual
> State and StateT monads don't force the evaluation of their payload, I'm not
> terribly surprised that such a leak should arise.
>
> _______________________________________________
> 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/20091111/8f64bcdc/attachment.html


More information about the Haskell-Cafe mailing list