Which functional programming language should I learn?

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/functionalprogramming

Our great sponsors
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • SonarLint - Clean code begins in your IDE with SonarLint
  • SaaSHub - Software Alternatives and Reviews
  • atomic

    Write Clojuresque functional core, imperative shell programs in JavaScript. (by mlanza)

    I did enough Clojure/ClojureScript to learn them and then I ported the concepts to JavaScript. Now I do JavaScript the Clojure way, including using native JavaScript objects and arrays but never mutating them. Most of my programming over the past decade has been JavaScript, but I can tell you all the Clojure ideas work in this realm including protocols.

  • learn-you-a-haskell

    “Learn You a Haskell for Great Good!” by Miran Lipovača

    If mathematical jargon and notions don't spook you, Haskell will be a great language to learn FP. It is one of the few that enforces purity and that's a huge plus. There are plenty of resources to start learning, I highly recommend Learn You a Haskell for Great Good! and there are others to continue after it.

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • elm-architecture-tutorial

    How to create modular Elm code that scales nicely with your app

    If you know Web development already, Elm might be the easiest approach. The Elm guide will have you work on functional snippets of code very quickly. The syntax is almost the same as Haskell, it's also pure, it just comes with far less bells and whistles as far as advanced features go. But you'll be able to have a real working web app in no time and the Elm architecture will basically force you to make it functional (whereas you can bend Haskell to program something imperative, with mutable state all over the place, etc…). Elm also has some of the most helpful compiler error messages and a time-traveling debugger, both great features when you're learning. (well, the time-traveling debugger is a great feature, period)

  • vscode-haskell

    VS Code extension for Haskell, powered by haskell-language-server

    Have you tried installing Haskell with https://www.haskell.org/ghcup? After installing it vscode with the https://github.com/haskell/vscode-haskell Haskell extension should work out of the box.

  • cats

    Lightweight, modular, and extensible library for functional programming.

    3) Finally, Scala 3 + cats is a great middle ground. It's a great language to teach and learn FP, even if you learn by yourself, without support from other people. There are lots of materials and even if you get stuck with a concept, you can still implement it using what you knew before.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

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