<div dir="ltr">Generally, I&#39;m fine with this kind of conversation, but this is obviously not going to lead to anything useful (and seemingly, this is intentional). I&#39;d suggest killing this thread so that more useful conversation can receive focus.<br>
<br>/jve<br><br><div class="gmail_quote">On Thu, Aug 14, 2008 at 4:05 PM, Jon Harrop <span dir="ltr">&lt;<a href="mailto:jon@ffconsultancy.com">jon@ffconsultancy.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;">
<div class="Ih2E3d">On Thursday 14 August 2008 19:52:06 Ketil Malde wrote:<br>
&gt; Don Stewart &lt;<a href="mailto:dons@galois.com">dons@galois.com</a>&gt; writes:<br>
</div><div class="Ih2E3d">&gt; &gt; &nbsp; &nbsp; <a href="http://article.gmane.org/gmane.comp.lang.caml.general/43430" target="_blank">http://article.gmane.org/gmane.comp.lang.caml.general/43430</a><br>
&gt;<br>
&gt; Well, to be perfectly honest:<br>
&gt; | &gt; What are the advantages/disadvantages when comparing OCaml to Haskell?<br>
&gt; |<br>
&gt; | Techically, predictable performance, high performance on x64, tools like<br>
&gt; | camlp4 and language features including records, functors, polymorphic<br>
&gt; | variants and structurally-typed objects are probably the main advantages<br>
&gt; | of OCaml over Haskell.<br>
&gt;<br>
&gt; I think we can match language features with classes, concurrency,<br>
&gt; GADTs, STM, and so on. &nbsp;Predictable performance is a point, especially<br>
&gt; memory-wise. At least, I sometimes get surprises when a usage pattern<br>
&gt; causes too much or too little laziness. &nbsp;GHC uses a *lot* of memory in<br>
&gt; general, and in particular on 64 bits.<br>
<br>
</div>Yes. Compilation speed as well.<br>
<div class="Ih2E3d"><br>
&gt; I belive OCaml has a simpler semantics, and thus it is easier to<br>
&gt; optimize performance, especially for a beginner. &nbsp;Decent programmers<br>
&gt; get decent performance with Haskell, see e.g. the language shootout.<br>
<br>
</div>Isn&#39;t Darcs an obvious counter example?<br>
<div class="Ih2E3d"><br>
&gt; | Non-technically, OCaml has more well-tested libraries, more practical<br>
&gt; | books (e.g. my own), more high-profile open source projects (e.g. FFTW<br>
&gt; | has millions of users)<br>
&gt;<br>
&gt; I&#39;m not so sure about the library thing, it seems that Haskell has a<br>
&gt; bigger community,<br>
<br>
</div>What gave you that impression?<br>
<br>
According to the Debian and Ubuntu package popularity contest results, OCaml<br>
currently has 10,635 registered installs compared to 6,606 for GHC. Moreover,<br>
this ratio has been constant for several years now.<br>
<div class="Ih2E3d"><br>
&gt; and while some libraries are less maintained than<br>
&gt; one would wish, some are pretty solid. &nbsp;Clearly, OCaml has been used<br>
&gt; in some serious settings, although I don&#39;t see why the number of users<br>
&gt; of one particular application should be significant to me.<br>
<br>
</div>There are data for more applications, of course:<br>
<br>
Debian and Ubuntu registered installs<br>
-------------------------------------<br>
184,574: FFTW &nbsp; &nbsp; &nbsp; ( 14,298 lines of OCaml)<br>
&nbsp;12,866: Unison &nbsp; &nbsp; ( 23,993 lines of OCaml)<br>
 &nbsp;7,286: MLDonkey &nbsp; (171,332 lines of OCaml)<br>
 &nbsp;4,365: Darcs &nbsp; &nbsp; &nbsp;( &nbsp;3,939 lines of Haskell)<br>
 &nbsp;4,066: FreeTennis ( &nbsp;7,419 lines of OCaml)<br>
 &nbsp;4,057: Planets &nbsp; &nbsp;( &nbsp;3,296 lines of OCaml)<br>
 &nbsp;3,465: HPodder &nbsp; &nbsp;( &nbsp;2,225 lines of Haskell)<br>
 &nbsp;2,965: LEdit &nbsp; &nbsp; &nbsp;( &nbsp;2,048 lines of OCaml)<br>
 &nbsp;2,822: Hevea &nbsp; &nbsp; &nbsp;( 11,596 lines of OCaml)<br>
 &nbsp;2,657: Polygen &nbsp; &nbsp;( &nbsp;1,331 lines of OCaml)<br>
<br>
That is 221,293 installs of popular OCaml software compared to only 7,830<br>
installs of Haskell software.<br>
<br>
And 235,312 lines of OCaml code tested by many users compared to only 6,164<br>
lines of well-tested Haskell code.<br>
<div class="Ih2E3d"><br>
&gt; | There are far more practically-minded people in the OCaml community<br>
&gt; | and that is reflected in the much larger number of commercial<br>
&gt; | products that use OCaml.<br>
&gt;<br>
&gt; This almost reads as damning with faint praise. &nbsp;Do we have the<br>
&gt; educated, smart people, and a larger number of open source products?<br>
<br>
</div>The above statistics certainly that OCaml has four times as many popular open<br>
source projects as Haskell.<br>
<div class="Ih2E3d"><br>
&gt; | Tangentially, OCaml has a successful relative in F# whereas<br>
&gt; | Haskell&#39;s close relatives are extinct.<br>
&gt;<br>
&gt; Or you could say that OCaml is one member of a family of languages,<br>
&gt; each slightly different, while Haskell managed to unify the<br>
&gt; ecosystem and community around a single standard.<br>
<br>
</div>Or you could say that the only popular Haskell is GHC&#39;s proprietary dialect.<br>
<br>
Either way, I think it is clear that OCaml has more users than GHC and<br>
OCaml+F# have far more users than all Haskell dialects combined.<br>
<div class="Ih2E3d"><br>
&gt; It would bear pointing out that just about every new, cool feature in<br>
&gt; emerging languages seem to come from Haskell.<br>
<br>
</div>Like F#&#39;s active patterns?<br>
<div class="Ih2E3d"><br>
&gt; | nobody has ever done anything significant using Haskell<br>
&gt;<br>
&gt; He is entitled to his opinion of what is significant or not, just as I<br>
&gt; am entitled to my opinion of his opinion.<br>
<br>
</div>Have any open source projects written in Haskell ever garnered a significant<br>
number of users?<br>
<div class="Ih2E3d"><br>
--<br>
Dr Jon D Harrop, Flying Frog Consultancy Ltd.<br>
<a href="http://www.ffconsultancy.com/products/?e" target="_blank">http://www.ffconsultancy.com/products/?e</a><br>
_______________________________________________<br>
</div><div><div></div><div class="Wj3C7c">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>/jve<br>
</div>