Hacker News new | ask | show | jobs
by lmm 3791 days ago
More like are there any use cases where it wouldn't be recommended? (Answer: yes, cases where you need very consistent runtime performance, or cases where you absolutely need manual memory management - both a lot rarer than people think they are).

You can overcomplicate things in any language. Haskell gives you better tools for dealing with complexity - which some people use as a reason to push the complexity to the limit. But if you stick to abstractions that are actually providing value (e.g. by letting you reduce code duplication) you'll find it's a very good language.

2 comments

> yes, cases where you need very consistent runtime performance

Though, if you need hard real time, even C can be tricky.

Haskell can be written for soft real time things, but it's also tricky. Rust might be a better bet?

If I really needed to do hard real time, I might use Haskell... to generate C: https://hackage.haskell.org/package/atom
Yes, Haskell makes for a great compiler and language manipulator. Not too surprising, given its ML ancestry.
> yes, cases where you need very consistent runtime performance

A lazy language is probably not the answer to this particular problem.