Our great sponsors
-
GitHub - mikeizbicki/HLearn: Homomorphic machine learning
-
This said, if you want do do deep learning Python is the obvious choice atm, if only for copy-pasting code from examples (however do you know HaskTorch? https://github.com/hasktorch/hasktorch/ )
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
With that being said, Python is without a doubt the best option, and I'd also be very interested to read the articles you found that say that Python is not a good choice because it's been the industry standard for a long time now. Data science and machine learning are one of the areas where the Haskell ecosystem is not as strong as other languages, but libraries and tools do exist. There's a great list of Haskell resources by domain here, and as you can see, there are Haskell bindings to tensorflow and pytorch, along with other libraries that support common data science programming.
-
In case you want to see one research direction that's combining practical machine learning and functional programming, one of the authors of JAX (and the main author of its predecessor, Autograd) is writing Dex (https://github.com/google-research/dex-lang), a functional language for array processing. The compiler itself is written in Haskell. JAX is one of the most popular libraries for doing a lot of machine learning these days, along with Tensorflow and PyTorch. You might also want to see the bug in the JAX repo about adding Haskell support, for some context: https://github.com/google/jax/issues/185
-
jax
Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more
In case you want to see one research direction that's combining practical machine learning and functional programming, one of the authors of JAX (and the main author of its predecessor, Autograd) is writing Dex (https://github.com/google-research/dex-lang), a functional language for array processing. The compiler itself is written in Haskell. JAX is one of the most popular libraries for doing a lot of machine learning these days, along with Tensorflow and PyTorch. You might also want to see the bug in the JAX repo about adding Haskell support, for some context: https://github.com/google/jax/issues/185
-
FWIW there's an interesting library called grenade which offers nice types for constructing neural nets. I haven't used it, and this is not my areas of expertise, but it looks cool!