>>11Yup, I drank the kool-aid as a late teen. Hindsight is 20/20. I had no real reason to persist Haskell after about a year because I've internalized the important concepts. Perhaps, it something to do with being my first functional language because I kept doing it for a couple more years. I had hope the ecosystem would drastically improve, functional purity wouldn't shoot itself in the foot, and lazy-eval would stop driving me crazy. The current FRP libraries are the only thing which retained my interests. It's certainly not going to save the rest of the ecosystem though, and my interest will eventually fade.
It's ironic what's touted as Haskell's unique strengths (type-system, functional-purity, and lazy-eval) restrains its ecosystem.
At least for the type-system and functional-purity, I believe it's worth learning up until typeclassopedia and transformers are internalized. The language acted like training wheels for me. It kept me from falling over so I can learn how to ride a bike. Yet, it was neither enough to keep me from crashing into things nor practical enough to race with. The wheels began to hold me back.
Yeah, the names are confusing and 'math-based.' However design-patterns or not, abstractions are a central part of programming. I posted something along these lines before. Typeclasses are basically adjectives pretending to be nouns. They aren't necessary because you can replace them with the intended noun. They're pretty simple actually, so I wouldn't go as far to say functors, applicatives, and monads are design-patterns. There's not enough weight for them to be at that level. Once you head into lens territory or other do-it-all libraries like yesod, the bull-shit comes out. It's surprising for a purely functional language how rare simple libraries exist on hackage. There's another monad transformer in almost every package.