Which functional programming language should I learn?

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

Our great sponsors
  • LearnThisRepo.com - Learn 300+ open source libraries for free using AI.
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern API for authentication & user identity.
  • atomic

    Write ClojureScript in JavaScript without a transpiler. (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.

  • LearnThisRepo.com

    Learn 300+ open source libraries for free using AI. LearnThisRepo lets you learn 300+ open source repos including Postgres, Langchain, VS Code, and more by chatting with them using AI!

  • 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.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

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