Я изучаю Haskell и наткнулся на следующий код:
fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
, с анализом которого у меня возникли некоторые проблемы с точки зрения его работы.Это очень удобно, я понимаю, что больше ничего не нужно, но я хотел бы понять, как Haskell удается «заполнять» выдумки, когда я пишу:
take 50 fibs
Любая помощь?
Спасибо!