Некоторые языки (Haskell, Clojure, Scheme и т. Д.) Имеют ленивое вычисление. Одним из преимуществ ленивых вычислений является бесконечное количество структур данных. Что в этом такого хорошего? Каковы некоторые примеры случаев, когда возможность работы с бесконечными структурами данных явно выгодна?