Functional programming

Top 23 Functional programming Open-Source Projects

  • lodash

    A modern JavaScript utility library delivering modularity, performance, & extras.

  • Project mention: 8 NPM Packages for JavaScript Beginners [2024][+tutorials] | dev.to | 2024-04-02

    Lodash.js is like the Swiss Army knife for JavaScript developers. Need to manipulate data structures or dabble in functional programming? Lodash is here to save the day with its arsenal of utilities. It's all about making your code cleaner and your life easier, which is probably why big guns like Google and Airbnb have it in their toolkit.

  • underscore

    JavaScript's utility _ belt

  • Project mention: 8 NPM Packages for JavaScript Beginners [2024][+tutorials] | dev.to | 2024-04-02

    Not too far behind is Underscore.js, another utility library that's all about enhancing your JavaScript mojo. Whether you're dealing with arrays, objects, or strings, Underscore has got something for you. It's like Lodash's sibling, offering similar functionalities but with its own flair. The choice between them is like picking between chocolate and vanilla - it really comes down to personal taste.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • ramda

    :ram: Practical functional Javascript

  • Project mention: Tacit Programming | news.ycombinator.com | 2024-02-24

    JavaScript is great for point-free programming! Make sure you check out Ramda.js https://ramdajs.com/

    It’s fun in the sense that solving a puzzle is fun, but I avoid it for anything I need to maintain long-term.

    But it’s good practice for understanding combinators which is useful for some kinds of problems.

  • mostly-adequate-guide

    Mostly adequate guide to FP (in javascript)

  • Project mention: Mostly adequate guide to Functional Programming (in JavaScript) | news.ycombinator.com | 2023-07-25
  • functional-programming-jargon

    Jargon from the functional programming world in simple terms!

  • Functional-Light-JS

    Pragmatic, balanced FP in JavaScript. @FLJSBook on twitter.

  • Project mention: 10 GitHub Repos for Mastering JavaScript | dev.to | 2024-04-19

    Repository: getify/Functional-Light-JS

  • lila

    ♞ lichess.org: the forever free, adless and open source chess server ♞

  • Project mention: Lessons from Open-Source Game Projects | dev.to | 2024-04-10

    Lichess - Online Chess Server. Scala, TypeScript

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

    InfluxDB logo
  • scala

    Scala 2 compiler and standard library. Bugs at https://github.com/scala/bug; Scala 3 at https://github.com/scala/scala3

  • Project mention: Groovy 🎷 Cheat Sheet - 01 Say "Hello" from Groovy | dev.to | 2024-03-07

    Recently I had to revisit the "JVM languages universe" again. Yes, language(s), plural! Java isn't the only language that uses the JVM. I previously used Scala, which is a JVM language, to use Apache Spark for Data Engineering workloads, but this is for another post 😉.

  • nix

    Nix, the purely functional package manager

  • Project mention: Eelco Dolstra's leadership is corrosive to the Nix project | news.ycombinator.com | 2024-04-22

    > https://github.com/NixOS/nix/pull/9911#issuecomment-19252073...

  • milewski-ctfp-pdf

    Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source

  • Project mention: reflect-cpp - Now with compile time extraction of field names from structs and enums using C++-20. | /r/cpp | 2023-12-09

    Category Theory for Programmers by Bartosz Milewski (https://github.com/hmemcpy/milewski-ctfp-pdf/releases)

  • fp-ts

    Functional programming in TypeScript

  • Project mention: From a Lorry Driver to Ruby on Rails Developer at 38 | news.ycombinator.com | 2024-04-21

    I think it’s great that functional programming is making its way into traditional imperative languages - even JavaScript (I recently came across https://gcanti.github.io/fp-ts/ as a pretty extreme example)

    Elixir/Erlang has function-level pattern matching, which I really like. I’ve yet to see it anywhere else, though my understanding is it came from Prolog.

  • Cycle.js

    A functional and reactive JavaScript framework for predictable code

  • ios-oss

    Kickstarter for iOS. Bring new ideas to life, anywhere.

  • fish-redux

    An assembled flutter application framework.

  • RxKotlin

    RxJava bindings for Kotlin

  • language-ext

    C# functional language extensions - a base class library for functional programming

  • Project mention: The Monad Invasion - Part 2: Monads in Action! | dev.to | 2024-02-27

    You probably noticed that .SetName() returns a Either. You may have come across Unit in libraries like MediatR or Language-Ext. It's a simple construct representing a type with only one possible value. We use it as a placeholder for operations that do not return a value but may return another state. In our example, .SetName() is a Command that does not return a value but may fail. Therefore, the monad Either carries two possible states: Right (without value) or Left (with an Error).

  • lazy.js

    Like Underscore, but lazier

  • Project mention: LazyJS – like Underscore, but lazier (2011) | news.ycombinator.com | 2023-07-24
  • AlgoXY

    Book of Elementary Functional Algorithms and Data structures

  • Kategory

    Λrrow - Functional companion to Kotlin's Standard Library (by arrow-kt)

  • Project mention: Arrow Project for Arrow on GitHub | news.ycombinator.com | 2024-04-25
  • android-oss

    Kickstarter for Android. Bring new ideas to life, anywhere.

  • bash-oo-framework

    Bash Infinity is a modern standard library / framework / boilerplate for Bash

  • Javaslang

    vʌvr (formerly called Javaslang) is a non-commercial, non-profit object-functional library that runs with Java 8+. It aims to reduce the lines of code and increase code quality.

  • Carp

    A statically typed lisp, without a GC, for real-time applications.

  • Project mention: Carp: A statically typed Lisp, without a GC, for real-time applications | news.ycombinator.com | 2024-03-11
  • 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.

    WorkOS logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Functional programming related posts

Index

What are some of the best open-source Functional programming projects? This list will help you:

Project Stars
1 lodash 58,868
2 underscore 27,233
3 ramda 23,578
4 mostly-adequate-guide 23,160
5 functional-programming-jargon 18,524
6 Functional-Light-JS 16,486
7 lila 14,578
8 scala 14,271
9 nix 10,879
10 milewski-ctfp-pdf 10,745
11 fp-ts 10,452
12 Cycle.js 10,237
13 ios-oss 8,354
14 fish-redux 7,341
15 RxKotlin 6,997
16 language-ext 6,159
17 lazy.js 6,026
18 AlgoXY 5,972
19 Kategory 5,963
20 android-oss 5,735
21 bash-oo-framework 5,538
22 Javaslang 5,528
23 Carp 5,393

Sponsored
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.
workos.com