Can someone tell me a positive reason to do I/O with monads or try to make it pure-functional?
It's always smelled like zealotry to me -- I/O is, definitionally, about creating a side-effect, and papering over that seems to add complexity and unnecessary concepts before eventually just calling the same libc functions anyways at the bottom of the stack.
It's always smelled like zealotry to me -- I/O is, definitionally, about creating a side-effect, and papering over that seems to add complexity and unnecessary concepts before eventually just calling the same libc functions anyways at the bottom of the stack.