A performance improvement could be the caching of responses based on computation costs and number of accesses. This functionality can be implemented a general module that may be used to wrap any pure program if needed. This is something that only pure programs can ever do. And the haskell type system can enforce that.<br>
<br>
<div class="gmail_quote">2008/11/5 Bulat Ziganshin <span dir="ltr">&lt;<a href="mailto:bulat.ziganshin@gmail.com">bulat.ziganshin@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hello Jason,<br>
<div class="Ih2E3d"><br>Wednesday, November 5, 2008, 3:12:29 AM, you wrote:<br><br>&gt; &nbsp; Many useful programs that I would like to write in Haskell<br>&gt; &nbsp; don&#39;t fall into this category -- for example, network servers<br>
&gt; &nbsp; -- but a lot of their components do. Can these components can<br>&gt; &nbsp; be Haskell functions without IO in their signatures?<br><br></div>pure function is one those result depends only on its arguments. as<br>far as you can provide &quot;input stream&quot; as an function argument, it<br>
should be possible to write it in pure way (as far as you don&#39;t<br>concern efficiency. sometimes imperative algorithms mauy be just<br>faster than pure ones since data structures are different)<br><font color="#888888"><br>
<br>--<br>Best regards,<br>&nbsp;Bulat &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mailto:<a href="mailto:Bulat.Ziganshin@gmail.com">Bulat.Ziganshin@gmail.com</a><br></font>
<div>
<div></div>
<div class="Wj3C7c"><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>
</div></div></blockquote></div><br>