Sounds pretty good and applicable to a system I've been trying to implement. I've been trying to understand Iteratee, and it seems like a way of fusing some of the parsing with some of the IO in a fairly safe way. Is this a correct way to think of it?<div>
<br></div><div>Dave<br><br><div class="gmail_quote">On Fri, Mar 12, 2010 at 6:25 PM, Gregory Collins <span dir="ltr"><<a href="mailto:greg@gregorycollins.net">greg@gregorycollins.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi all,<br>
<br>
I've just uploaded the first version of the attoparsec-iteratee library<br>
to Hackage:<br>
<br>
<a href="http://hackage.haskell.org/package/attoparsec-iteratee" target="_blank">http://hackage.haskell.org/package/attoparsec-iteratee</a><br>
<br>
It takes applicative parsers written using attoparsec and automagically<br>
converts them to iteratees that can parse things from streams in O(1)<br>
space.<br>
<br>
....and the combination is fast: a prototype HTTP server I'm working on<br>
uses this library and can handle as many as 13k reqs/sec on my Macbook.<br>
<br>
G<br>
<font color="#888888">--<br>
Gregory Collins <<a href="mailto:greg@gregorycollins.net">greg@gregorycollins.net</a>><br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">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>
</font></blockquote></div><br></div>