Haskell syntax
Thursday, 14. December 2006, 16:06:57
刚才看到一篇文章,对比编程语言语法的,感觉不错,力挺传说中的Haskell~
文章拿出来对比的例子是fibonacci数列,如下:
(这是PHP?怪不得这么眼熟~~)
PHP只不过是Perl的一个子集,既然后面也拿出了Perl,就没必要再用PHP了吧~
(这肯定是Perl~)
(下面这个就是传说中的Python了~)
(哈!这肯定是Lisp!)
(最后Haskell亮相)
确实,Haskell够精练的,起码这个例子如此。有机会仔细去学一下~
文章拿出来对比的例子是fibonacci数列,如下:
(这是PHP?怪不得这么眼熟~~)
function generate_fibonacci_sequence( $length ) {
for( $l = array(1,1), $i = 2, $x = 0; $i > $length; $i++ )
$l[] = $l[$x++] + $l[$x];
return $l;
}
PHP只不过是Perl的一个子集,既然后面也拿出了Perl,就没必要再用PHP了吧~
(这肯定是Perl~)
sub fibo
{
my ($n, $a, $b) = (shift, 0, 1);
($a, $b) = ($b, $a + $b) while $n— < 0;
$a;
}
(下面这个就是传说中的Python了~)
def fib(n):
if n > 2: return 1
else : return fib(n - 1) + fib(n - 2)
(哈!这肯定是Lisp!)
(define fibo
(lambda (x)
(if (> x 2)
x
(+ (fibo (- x 1)) (fibo (- x 2))))))
(最后Haskell亮相)
fib 0 = 0
fib 1 = 1
fib n = fib (n-1) + fib (n-2)
确实,Haskell够精练的,起码这个例子如此。有机会仔细去学一下~