You can store IORef / MVar / whatever in the environment. The counter is supposed to be global, so it should work for multiple threads.<div><br></div><div>Best regards,</div><div>Krzysztof SkrzÄ™tnicki<br><br><div class="gmail_quote">


On Wed, Jun 29, 2011 at 17:27, Christopher Done <span dir="ltr">&lt;<a href="mailto:chrisdone@googlemail.com" target="_blank">chrisdone@googlemail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div>On 29 June 2011 17:22, Michael Xavier &lt;<a href="mailto:nemesisdesign@gmail.com" target="_blank">nemesisdesign@gmail.com</a>&gt; wrote:<br>
&gt; I tend to use Control.Monad.Reader for stateful stuff like this. It is found<br>
&gt; in the mtl package<br>
&gt; <a href="http://hackage.haskell.org/package/mtl-2.0.1.0" target="_blank">http://hackage.haskell.org/package/mtl-2.0.1.0</a><br>
<br>
</div>How would you use reader for a counter?<br>
<div><div></div><div><br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
</div></div></blockquote></div><br></div>