Вероятно, я не очень хорошо понимаю монаду IO.
Если я напишу приложение, которое, как ожидается, будет работать в течение многих месяцев, при этом записывая его прогресс, будет ли монада IO хранить всю информацию журнала в ОЗУ до конца?
Из блога на IO Inside, Haskell моделирует мир как
main :: RealWorld -> ((), RealWorld)
, так что IO не происходит во время выполнения части кода Haskell, а только когда приложение возвращается из основной
.
Вероятно, я совершенно неправильно истолковал это. Может ли кто-нибудь объяснить , когдаHaskell на самом деле выполняет ввод-вывод?