Does anyone consider #haskell to be their most productive language? Tracing and debugging other people's code happens to be the most common thing I do (because writing expressive, stable, non-leaky abstractions is hard), but it's like pulling teeth in Haskell. If I understand correctly, I need to map into an IO monad (or whatever the hell you call it) just to print out some value in a function: how do you get anything done this way?
@freemo Oh, it's a kind of fun, and the fact that I have to slow down so much is evidence that I'm learning, but I worry that the kinds of questions I want to ask and the answers to them are just evidence that "I'm thinking about things the wrong way" and you "just don't do that in Haskell". I've sort-of gotten over that doing pretty basic stuff with IO requires using an abstruse mathematical concept, but it's frustrating that I have to jump through hoops in this type system to do what I want while I still don't feel I'm getting much out of that system (other than the intellectual challenge).
@2ck The IO aspect of haskell is a bit of a nightmare as you say. I think its the most annoying part for newcomers. It is the consequence of wanting a pure functional language and the reason why almost every functional language out there is not pure, most people feel the barrier isnt worth it.
It really just depends on what your doing if it has value or not I guess, but many would argue that the IO stuff is haskells biggest shortcoming.