> I agree that Haskell in particular suffers from being lazy, which has genuine problems in practice.
- tooling is (used to be) bad
- compiler is hostile to new users
- even the simplest code is nigh undebuggable
- gotchas like foldl vs foldr due to lazy evaluation
As to why it's not more popular? Well the entire industry caught OOP fever during Java's heyday, so platform holders pushed languages that were similar - see JavaScript, C#, Visual C++, etc... Now this paradigm has huge inertia, and smart software engineers are able to make it work (just about) anyway. In other words, an accident of history got us caught in a local minimum.
Things are shifting though. The most popular framework in the world in probably React, and it's a (pretty crummy) implementation of functional programming concepts. It's not hard to find OOP thought-leaders advocating for immutability, effect systems and so on. Implementation inheritance is going the way of the singleton.
I agree that Haskell in particular suffers from being lazy, which has genuine problems in practice.