<span class="Apple-style-span" style="border-collapse: collapse; ">&gt; PortNum is specified in network byte order and lacking a function to convert host-&gt;network byte order (hton).</span><div><span class="Apple-style-span" style="border-collapse: collapse;"><br>
</span></div><div><span class="Apple-style-span" style="border-collapse: collapse;">Perhaps this is another argument for my thread from a while back?</span></div><div><span class="Apple-style-span" style="border-collapse: collapse;"><a href="http://www.nabble.com/Missing-Network-Functions-td21188779.html">http://www.nabble.com/Missing-Network-Functions-td21188779.html</a><br>
</span></div><div><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></div><div><span class="Apple-style-span" style="border-collapse: collapse;"><br clear="all"></span>/jve<br>
<br><br><div class="gmail_quote">On Thu, Jan 8, 2009 at 4:37 PM, Bardur Arantsson <span dir="ltr">&lt;<a href="mailto:spam@scientician.net">spam@scientician.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="Ih2E3d">Manlio Perillo wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
John Goerzen ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Thu, Jan 08, 2009 at 10:36:32AM -0700, John A. De Goes wrote:<br>
[...]<br>
<br>
On the other hand, I see nothing in Haskell that would prevent its use<br>
for any of your purposes. &nbsp;There are numerous high-level web<br>
infrastructures already. &nbsp;Perhaps they are more or less suited to your<br>
needs, but that&#39;s a library issue, not a language issue. &nbsp;<br>
</blockquote>
<br>
<br>
The question is not about Haskell language.<br>
I think that Haskell is far better than Erlang, and in fact I&#39;m studying Haskell and not Erlang; and one of the reason I choosed Haskell is for its support to concurrency.<br>
<br>
The problem, IMHO, is with the availability of solid, production ready servers implemented in Haskell, that can be used as case study.<br>
<br>
The major web framework in Haskell is HAppS, if I&#39;m correct, and yet in the HAppS code I see some things that make me worry about the robustess of the code.<br>
<br>
</blockquote></div>
[--snip--]<br>
<br>
Indeed. I&#39;ve been looking for a Haskell HTTP server implementation that can actually handle file serving using strictly limited memory (for a simple UPnP server, as of yet unreleased) and that also doesn&#39;t leak handles like a sieve, but I haven&#39;t found anything yet. I don&#39;t know, maybe my hackage-foo is lacking. In the end I just rolled my own implementation using the HTTP package for parsing requests and doing all the socket I/O myself using low-level primitives. It seemed to be the only way to guarantee reasonable resource usage while serving multi-gigabyte files to fickle HTTP clients that like to drop connections willy-nilly.<br>

<br>
Don&#39;t get me wrong -- the socket support is pretty decent, but there are also some weird idiosyncrasies, for example requiring that the PortNum is specified in network byte order and lacking a function to convert host-&gt;network byte order (hton).<br>

<br>
Oleg&#39;s Iteratee does look very interesting though. Maybe I&#39;ll have a go at trying to use his ideas in my UPnP server.<br>
<br>
Cheers,<br><font color="#888888">
<br>
Bardur Arantsson</font><div><div></div><div class="Wj3C7c"><br>
<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></div></blockquote></div><br></div>