
Like you said, Haskell is a platform, and people don't use a specific platform for the sake of using *that* platform. They use it because of what we call a "killer app". In the case of a programming language, a killer app is a popular library with no counterpart in other programming languages. You might find that Python has a richer set of niche libraries for text analysis. I'm not really clear what "topic modeling" entails, but it sounds like something Haskell's type system might be well suited for. Sophisticated visualizations? D3.JS is the answer. (Diagrams has the wrong power-to-weight ratio here, IMO, especially if you're new to Haskell.) If you're dealing with dirty data, it sounds like a good idea to attempt to discover the invariants your data is subject to. Learn how to extract synthetic key indicators from your data, then use Haskell's QuickCheck to either discover those subtle universal properties hidden within the data, or make assertions about them, in order to verify the consistency of a data set. Finally, I'd say don't look at this as a black and white decision. If you can get away with it, make it a hybrid Python/Haskell project and leverage the best of each world.