<div dir="ltr">Se ti vuoi divertire a rispondere alla domanda dai un occhio a questo blog-post.<br><div>L&#39;autore analizza un pezzetto di codice haskell e confronta l&#39;assembly generato con quello generato da un analogo pezzetto di C.<br><br><a href="http://lambda.jstolarek.com/2013/04/haskell-as-fast-as-c-a-case-study/">http://lambda.jstolarek.com/2013/04/haskell-as-fast-as-c-a-case-study/</a><br><br></div><div>Inoltre è interessante notare come si comporta su vari micro-benchmark vedi:<br><a href="http://benchmarksgame.alioth.debian.org/u64/compare.php?lang=ghc&amp;lang2=java">http://benchmarksgame.alioth.debian.org/u64/compare.php?lang=ghc&amp;lang2=java</a><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2014-12-23 4:00 GMT+01:00 Szymon Tomasz Stefanek <span dir="ltr">&lt;<a href="mailto:pragma@siena.linux.it" target="_blank">pragma@siena.linux.it</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 23/12/2014 03:41, Vincenzo Di Massa wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Come si scrive una funzione f(x) che restituisce:<br>
3000 se x == 3<br>
-1      se x*x = x*2<br>
x*x    se x è pari<br>
0       altrimenti<br>
<br>
In haskell si scrive così, chi prova a mandarla in un linguaggio in cui &quot;viene meglio&quot;?<br>
<br>
f 3 = 3000<br>
f x | x*x == x*2 = -1<br>
f x | even x     = x^2<br>
f x | otherwise  = 0<br>
</blockquote>
<br></span>
Oggettivamente elegante.<br>
<br>
Hm... in linguaggio macchina, poi, come diventa?<br>
<br>
--<br>
<br>
STS<div class="HOEnZb"><div class="h5"><br>
<br>
______________________________<u></u>_________________<br>
Generale mailing list<br>
<a href="mailto:Generale@liste.siena.linux.it" target="_blank">Generale@liste.siena.linux.it</a><br>
<a href="http://liste.siena.linux.it/cgi-bin/mailman/listinfo/generale" target="_blank">http://liste.siena.linux.it/<u></u>cgi-bin/mailman/listinfo/<u></u>generale</a><br>
</div></div></blockquote></div><br></div>