There are exciting practical FP usage powered by the likes of Vavr and Algebird in the JVM land. I would like to suggest looking at Scala if you are interested in the conventionally practical. For example I found Scio incredibly exciting
On a more personal note, learning Haskell is more like learning FP and basic type theory, both of which are transferrable skills to most languages. How "useful" is debatable. Maps and filters you can use almost everywhere, ADTs are lacking in most languages, going into things like optics or type lambdas engineers will start feeling you are crazy but that's not even scratching the surface of PL research
[This is a half-joking note. Many real-world programs are written in Haskell and OCaml, but they really are the minority]
Native support for ADTs is lacking, but most languages can cobble them together out of OO constructs, and they're so useful that it's often worth the inconvenience.
Algebird is perhaps exciting in the same way as a plane crash. The only "functional" thing about this library is its utterly pointless focus on the simple algebraic structures/typeclasses like monoids and semigroups that are shoe-horned into the API. Yes, it so happens that both HyperLogLog and BloomFilter admit some kind of monoidal structure, but that's hardly the interesting thing about them. What you get is a crappy API centered around the wrong abstraction. The whole thing feels like it was written by an intern who desperately wanted to use some algebra he learned in a freshmen class... Certainly the code quality supports that theory.
It's used professionally in "backend software development" at many companies. It doesn't dominate (it's a niche language), but it works great for that.
Man, the FOMO. I had a friend who worked at Mercury and if I had met her just a few years later I'd probably be working as a Haskell dev there now. I had to chomp my way through _HPFFP_ first, though.
IOHK uses Haskell in production for the cardano blockchain - I worked there for around 18 months. Irregardless of your thoughts on blockchain tech, it was really fun to work with fairly well known Haskell developers!
I am curious how that is useful at all? I imagine prototyping and the set of libraries that you have is quite limited compared to something like Python. You're also limiting yourself to a much smaller pool of developers which have to intersect both finance and Haskell! I suppose that last point is an advantage of some sort since that filters out a huge portion of "normie" applications.
I work at one of those fintech companies using Haskell in production.
Hiring was actually Haskell’s strong side. I managed to hire 6 engineers in only one month. There were more than 50 applicants to the position. Just the idea of using Haskell in production is attractive to many.
It’s been a great experience overall. I worked at a python company before this one and it’s been refreshing not having unexpected runtime errors. Moving money around requires more robustness than your typical app.
My understanding is "safety". You need to cover all cases of enums, you can't implicitly coerce a number to a string, you can ensure that there's no side-effects in company code, etc.
I may start to look into it as some point for curiosity, but it would be nice if i'd knew that it would be at least a bit useful somewhere.