blog.jle.im/entry/io-monad-considered-harmful

In the tradition of considered harmful posts, this post’s title is intentionally misleading and designed to incite controversy — or at least grab your attention. Because of this, please take my exaggerations in this article for what they are :) In following tradition I will try to leave as many quotes and soundbytes as possible that can be easily taken terribly out of context and twisted. Anyways, I don’t mean that this IO Monad is something to be avoid. What I mean is that the phrase IO Monad…it’s got to go. It has its usages, but 99.9% of times it is used, it is used improperly, with much damaging effects. So let’s go ahead with stopping this nonsense once and for all, okay? So I’ll say it here: The phrase IO monad considered harmful. Please do not use it. In most circumstances, the IO type is the more helpful and more correct answer. I’m going to say that this is probably the single most harmful and damaging thing in Haskell and the community, with regards to pedagogy, practice, public perception, and kittens. Not even kidding. It’s actually literally the worst and everyone in the world is worse off every time someone says it.


Comments (0)

Sign in to post comments.