<div>A small library that extends System.Timeout.timeout. It adds the possibility of<br></div><div>saving partial results. Useful for AI-like algorithms that should return the</div><div>best result found within a time limit.</div>

<div><br></div><div>It comes in two variants:</div><div><br></div><div>(1) Simple, which only allows computations to save partial results, not</div><div>retrieve what has been written already. If a computation times out, the last</div>

<div>saved partial result is returned. It comes in two flavours: One that converts</div><div>saved values to WHNF, the other to NF. (This is required so that the producing</div><div>thread performs the computations, not the consuming thread.)</div>

<div><br></div><div>(2) Based on MonadWriter. The types of partial results have to be monoids.</div><div>Saving a partial result combines it with the saved value using `mappend`. It</div><div>also adds the ability to run a contained computation within another one,</div>

<div>without disturbing its output.</div><div><br></div><div>See <a href="https://github.com/ppetr/timeout-with-results#examples">https://github.com/ppetr/timeout-with-results#examples</a> for examples.</div><div><br></div>

<div>Repo:    <a href="https://github.com/ppetr/timeout-with-results">https://github.com/ppetr/timeout-with-results</a></div><div>Hackage: <a href="http://hackage.haskell.org/package/timeout-with-results">http://hackage.haskell.org/package/timeout-with-results</a></div>

<div><br></div><div>(I apologize for not being able to come up with a better package/module names.</div><div>Suggestions welcomed.)</div><div><br></div><div>Petr Pudlak</div><div><br></div>