История изменений
Исправление
dave,
(текущая версия)
:
putStrLn является чистой функцией (она обычно похожа на вычисление в монаде State). Никакого противоречия.
Вообще, я давно заметил, что многие не понимают, как побочные эффекты работают в хаскеле (без потери в производительности по сравнению с другими языками, надо заметить). Особенно такое непонимание характерно для студентов, которых в вузе зачем-то мучили хаскелем, но так и не доучили. Может быть, сами преподаватели «плавали» в вопросе, во что охотно поверю.
Исходная версия
dave,
:
putStrLn по сути тоже является чистой функцией (она обычно похожа на вычисление в монаде State). Никакого противоречия.
Вообще, я давно заметил, что многие не понимают, как побочные эффекты работают в хаскеле (без потери в производительности по сравнению с другими языками, надо заметить). Особенно такое непонимание характерно для студентов, которых в вузе зачем-то мучили хаскелем, но так и не доучили. Может быть, сами преподаватели «плавали» в вопросе, во что охотно поверю.