Предмонадный ввод / вывод на Haskell
Интересно, как выполнялся ввод-вывод в Хаскеле в те времена, когда монада ввода-вывода еще не была изобретена? Любой знает пример.
Изменить: Можно ли сделать ввод / вывод без IO Monad в современном Haskell? Я бы предпочел пример, который работает с современным GHC.