История изменений
Исправление Laz, (текущая версия) :
Зачем нужен «магический» тип IO, делящий Haskell на фактически два разных языка?
Чтобы последующее вычисление могло зависеть от результата предыдущего.
Upd:
Haskell язык ленивый.
А, точно, у нас же ленивость. Тогда, наверное, можно и без монад обойтись - строить все возможные варианты выполнения программы, и те ветви, которые не актуальны, просто будут незаметно отгнивать.
Исходная версия Laz, :
Зачем нужен «магический» тип IO, делящий Haskell на фактически два разных языка?
Чтобы последующее вычисление могло зависеть от результата предыдущего.