Nice initiative!<br><br>By the way, since this is a monad, I think a better place than Control.Concurrent.Forkable would be Control.Monad.Forkable.<br>It&#39;s just a suggestion.<br><div class="gmail_quote"><div><br> </div>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="gmail_quote">2010/4/21 David Anderson <span dir="ltr">&lt;<a href="mailto:dave@natulte.net" target="_blank">dave@natulte.net</a>&gt;</span><div>
<div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Dear Haskellers,<br>
<br>
I&#39;m happy, and only slightly intimidated, to announce the initial<br>
release of forkable-monad.<br>
<br>
The short version is that forkable-monad exports a replacement forkIO<br>
that lets you do this:<br>
<br>
type MyMonad = ReaderT Config (StateT Ctx IO)<br>
<br>
startThread :: MyMonad ThreadId<br>
startThread = forkIO threadMain<br>
<br>
threadMain :: MyMonad ()<br>
threadMain = forever $ liftIO $ putStrLn &quot;Painless monad stack forking!&quot;<br>
<br>
Note the lack of monad stack deconstruction and reconstruction to<br>
transport it over to the new thread. You&#39;ll find the details in the<br>
Haddock documentation for the module.<br>
<br>
forkable-monad is available:<br>
<br>
* On hackage: <a href="http://hackage.haskell.org/package/forkable-monad" target="_blank">http://hackage.haskell.org/package/forkable-monad</a><br>
* Via cabal: cabal install forkable-monad<br>
* Source and issue tracker: <a href="http://code.google.com/p/forkable-monad/" target="_blank">http://code.google.com/p/forkable-monad/</a><br>
<br>
Feedback is of course welcome. As this is my first published Haskell<br>
code and Hackage upload, I expect there will be quite a bit!<br>
<br>
- Dave<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div></div></div><br>
</blockquote></div><br>