Haskell for Artificial Intelligence?

This page summarizes the projects mentioned and recommended in the original post on /r/haskell

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • HLearn-algebra

    Homomorphic machine learning

    GitHub - mikeizbicki/HLearn: Homomorphic machine learning

  • hasktorch

    Tensors and neural networks in Haskell

    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.

  • post-rfc

    Blog post previews in need of peer review

    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.

  • dex-lang

    Research language for array processing in the Haskell/ML family

    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

  • grenade

    Deep Learning in Haskell

    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!

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts