<div dir="ltr"><br><br><div class="gmail_quote">On Thu, Jan 14, 2010 at 12:50 PM, Alberto G. Corona <span dir="ltr">&lt;<a href="mailto:agocorona@gmail.com">agocorona@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br><div class="gmail_quote">2010/1/14 Jinjing Wang <span dir="ltr">&lt;<a href="mailto:nfjinjing@gmail.com" target="_blank">nfjinjing@gmail.com</a>&gt;</span><div class="im"><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<br>
<br>
Hyena is especially tuned for streaming and that&#39;s exactly what hack<br>
can&#39;t do (in practice).<br></blockquote><div><br></div></div><div>Isn&#39;t possible to stream an (almost) infinite bytestring trough hack?. I ever trough that the laziness of haskell is a great advantage in Web applications. This is very important because the size of the block transferred vary widely. In my applications I don´t care whether I have to stream a hello world page or a video.  The first block of my application goes trough the internet as soon as my  procedure start without concern about if the processing is composed of a complicated chain of steps or not. And with no especial coding; Neither my web server interface nor my user responsiveness requirements force me to code iterations everywhere in my code.  I know the chuncked mode in web server but I think that just this mode of web streaming is the right mode for serving lazy haskell applications.</div>

<div><br></div><div> My question is why whatever performance advantage the iteratee may have, can not be coded under the clean interface of a lazy bytestring or whatever lazy stream.</div></div></blockquote><div><br>Well, for one thing, you&#39;d need to use lazy IO to achieve your goal, which has some safety issues. As things get more and more complex, the requirements of lazy IO will continue to grow. This also has implications for number of open file handles and deterministic space usage. Given the fact that a lazy bytestring and easily be converted to an enumerator, I think it makes sense to start a new package using this approach.<br>
<br>As a side point, would anyone be interested in having a central location for web-specific Haskell development discussions? I know we have the mailing list, but it&#39;s never used. I&#39;m thinking more of a place to post articles and links to packages. In particular, I think it would be great to have a site with multiple sections (model, view, controller, authentication, authorization, etc) and articles, forums and packages specific for each. Also a great place to post what the community is missing.<br>
<br>Michael<br><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"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">

<br>
<a href="http://github.com/nfjinjing/hack-handler-hyena" target="_blank">http://github.com/nfjinjing/hack-handler-hyena</a><br>
</div><font color="#888888"><br>
<br>
--<br>
jinjing<div class="im"><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>
</div></font></blockquote></div><br>
</blockquote></div><br></div>