<font face="verdana,sans-serif">Hi all,<br><br>I&#39;ve just released stm-conduit [1] on Hackage. This package introduces conduits to the wonderful world of concurrency.<br><br>My package solves the common problem of constant bottleneck switching loaders have. This is when, for example, we stream XML from the disk and then parse the XML in one conduit pipeline. While it streams a file from the disk, the process is clearly IO bound, and while it parses the XML, the process is CPU bound. By putting each task on its own thread, the disk IO doesn&#39;t need to wait for the CPU to parse a document before loading the next file. By using stm-based conduits, we have full resource utilization.<br>


<br>The way it does this is by creating a source and sink for TChans, letting us stream data between conduits and channels. There are more examples in the docs.<br><br>Check it out!<br><br>Regards,<br>  - clark<br><br>[1] <a href="http://hackage.haskell.org/package/stm-conduit" target="_blank">http://hackage.haskell.org/package/stm-conduit</a><br>


</font>