Мне интересно, почему Scala не имеет IO Monad, как Haskell.
Итак, в Scala возвращаемым типом метода readLine
является String, тогда как в Haskell сопоставимая функция getLine
имеет тип возвращаемого значения IO String.
Существует аналогичный вопрос об этой теме, но его ответ не удовлетворяет:
Использование IO, безусловно, не является доминирующим стилем в scala.
Может кто-нибудь объяснить это немного дальше? Каково было конструктивное решение не включать IO Monads в Scala?