Как это вообще должно работать? Я бы после txt <- hGetContents сделал length txt `seq` return txt
Точно, seq. Тогда новый вопрос: когда я 21 строку заменяю на uxs `seq` pure uxs первое чтение работает хорошо (спасибо) Но если сделать cont `seq` pure uxs то вылетает эксепшен
Потому что cont это строка и сек здесь только первый : вычислит. МОГУ ОШИБАТЬСЯ
Ааа, это потому что seq вычисляет WNF, а не всё дерево? Спасибо
Я так и не узнал, почему оно так называется
Точно, спасибо
почему в одном месте !! 0 а в другом head? ) И это System.IO или System.IO.Strict? Импортов не видно
1 - потому что одноразовый скрипт, а я джун 2 - System.IO
hGetContents из Strict должен полностью форсить результат
А где этот модуль взять? В base как будто нет
да, поэтому и нужен length, чтобы до конца прочитать length usx `seq` pure uxs length будет запрашивать элементы пока не найдет пустой список, поэтому он выполнит все IO что нужно чтобы дойти до конца
Нормальная форма -- это когда не осталось редексов Если редексы могут остаться, то такую форму уместно назвать слабой нормальной Ну а заголовочная она потому что вычисляет до тех пор, пока не будет понятен "заголовок" терма, в данном случае это конструктор
Обсуждают сегодня