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