What Is IO Monad? (2018) [video]
I spent several years learning and using Haskell professionally and I have to say it was a waste. Almost nothing has carried over to what companies use or want day to day, nor did it really help me to understand computers at a deeper level Erlang taught me about concurrency patterns which are actually useful in the real world, C&#x2F;Rust taught me the abstractions presented by the hardware, locking, etc. but Haskell taught me something completely irrelevant to furthering my career or my skill as a software engineer.<p>I think that it’s an interesting side hustle and if people enjoy playing with it more power to them, but most of Haskell is driven by language enthusiasts and researchers who have no eye for practicality. Everything is done for its own sake, such as whether something can be done through derivation via HKTs etc. A lot of it comes down to it being an excuse to play with math rather than write programs. The way that it’s oversold as the solution to all bugs is based on an understanding of society that doesn’t match with reality, nor the needs of the modern programmer.<p>So what is an IO Monad? It’s a clever trap to get you to spend your time getting a poor man’s degree in category theory when you could be studying how computers really work.