フィボナッチ数列

さらに短いのを発見(まだまだ修行が甘い)

fibonacci = 1:1:zipWith (+) fibonacci (tail fibonacci)

zipWithと実験結果

Hugs.Base> zipWith (+) [1,2,3] [4,5,6]
[5,7,9]
Hugs.Base> take 10 fib where fib=1:1:zipWith (+) fib (tail fib)
[1,1,2,3,5,8,13,21,34,55]
Hugs.Base> fib !! 10 where fib=1:1:zipWith (+) fib (tail fib)
89

「!!」は rubyの.at()と同じ