Skimming this article really made me appreciate the compactness and clarity of do-notation (although hard-core Haskellers will object that it hides what really is going on)
Skimming this article really made me appreciate the compactness and clarity of do-notation (although hard-core Haskellers will object that it hides what really is going on)
I've never seen anybody say this. Many people say that when learning you must avoid it a few times to understand it, but I never saw anybody claiming it hides things for experienced developers.
Also, I think the idea is very far fetched, expanding do notation on your head when reading code is one of the minimum skills to make proper use of the language, thus it can't hide anything to hard-core Haskellers. Anyway, if you think your program is better structure using do, use it and don't stop to listen to criticism.
Also GHC now has features to revert all the bad structure problems cited there.
There is no wildcard advice of "use do notation" or "avoid do notation" possible. It's an incredibly handy tool, but you need to decide for yourself if it improves your code or not.