Мастер! Что еще сказать.... Я хаскелл так и не осилил
пока перебиваюсь быдлоскалой...
P.S. Маленькое замечание, первым элементом списка должен быть 0.
Нет, 1 :-)
странно, в том же SICP:
(define (fib n)
(cond ((= n 0) 0)
((= n 1) 1)
(else (+ (fib (- n 1))
(fib (- n 2))))))
Понятно, что 0 ни на что не влияет, но все же