How does Haskell know to stop executing a recursive function on an infinite list

visit shbcf.ru