I am a little surprised by the &quot;shortcomings&quot; of Haskell mentioned in the thread.<div><br></div><div>I was under the impression that Haskell was closest to Nirvana on the usefulness vs safety graph.</div><div><br>
</div><div>In the paper &quot;Why FP matters&quot; - Laziness is stated as one of the two key features of FP that allows conceptual modularity! If I understand right, Laziness is not a first class stuff in OCaml - is that not right?</div>
<div><br></div><div>If I understand correctly - Not allowing side-effects allow for equational reasoning - which in turn allows you to &quot;reason&quot; about the program better. If I understand right - OCaml allows side effects right?</div>
<div><br></div><div>Jeff, could you please expand on the tail recursion bit - what do you mean when you say, in OCaml, &quot;one has to write tail recursively in OCaml&quot;?</div><div><br></div><div>Please note, I am still a Haskell (FP) learner - My questions above are only meant for me to understand things better.</div>
<div><br></div><div>Regards,</div><div>Kashyap</div><div><br><div class="gmail_quote">On Sat, Apr 17, 2010 at 7:12 AM, jeff p <span dir="ltr">&lt;<a href="mailto:mutjida@gmail.com">mutjida@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hello,<br>
<br>
One major thing I haven&#39;t seen explicitly mentioned yet in this thread<br>
is tail recursion. You have to write tail recursively in OCaml (or any<br>
strict language) or you will blow the stack. While tail recursion is<br>
often wrong (in terms of efficiency) in Haskell, it is always right in<br>
OCaml.<br>
<font color="#888888"><br>
-Jeff<br>
</font><div><div></div><div class="h5">_______________________________________________<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><br clear="all"><br>-- <br>Regards,<br>Kashyap<br>
</div>