В настоящее время я читаю книгу по программированию O'reilly Clojure, в которой в разделе о ленивых последовательностях говорится:
Возможно (хотя и очень редко) ленивая последовательность знает свою длину и, следовательно, возвращает ее в результате подсчета, не осознавая ее содержимого.
У меня вопрос: как это делается и почему это так редко?
К сожалению, в книге об этом не говорится в этом разделе. Я лично считаю, что очень полезно знать длину ленивой последовательности до ее реализации, например, на той же странице приведен пример ленивой последовательности файлов, которые обрабатываются функцией с использованием map
. Было бы неплохо знать, сколько файлов можно обработать, прежде чем реализовывать последовательность.