Поскольку все эти эффекты объединены в Plan 9 / Inferno, я подозреваю, что «загон» Хаскелла не так произвольн, как кажется. Хотя это было бы потрясающим достижением в инженерной сфере, которое могло бы использовать ГСЧ для точного моделирования вывода файла. Обратное кажется простым.

птуально кажется, что вычисление, которое выполняет вывод, очень отличается от того, которое выполняет только ввод. Последнее в каком-то смысле намного чище.

Я, например, хотел бы иметь способ отделить только входные части моей программы от тех, которые действительно могли бы что-то записать.

Итак, почему нет ввода только Monad?

Есть какая-то причина, почему не получится иметь монаду I (и монаду O, которую можно объединить в монаду IO)?

редактироватьЯ в основном имел ввиду ввод данных как чтение файлов, а не взаимодействие с пользователем. Это также мой вариант использования, где я могу предположить, что входные файлы не меняются во время выполнения программы (в противном случае можно получить неопределенное поведение).

Ответы на вопрос(1)

Ваш ответ на вопрос