En Haskell, comment puis-je générer des nombres de Fibonacci basé sur la propriété que le n-ième nombre de Fibonacci est égal à (n-2)ème nombre de Fibonacci en plus de la (n-1)ième nombre de Fibonacci?
J'ai vu ceci:
fibs :: [Integer]
fibs = 1:1:zipWith (+) fibs (tail fibs)
Je ne sais vraiment pas qui, ni comment, il se produit une liste infinie au lieu d'un seul contenant 3 éléments.
Comment pourrais-je écrire du code haskell qui fonctionne par le calcul de la définition réelle et non pas par faire quelque chose de vraiment bizarre avec les fonctions de liste?
Merci.