Functional programming

Top 23 Functional programming Open-Source Projects

  • lodash

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

  • Project mention: How to shuffle an array in JavaScript | dev.to | 2024-05-16

    Lodash is a widely used utility library in JavaScript, providing a range of helpful functions to simplify common programming tasks. One of the functions provided by Lodash is _.shuffle(), which is specifically designed to shuffle the elements of an array.

  • 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: How to make a Lichess bot in Python | dev.to | 2024-04-30

    Once you’re finished, we’re going to set up a lichess bot account. Head over to https://lichess.org/ and create a new account.

  • 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: Counted B-Trees | news.ycombinator.com | 2024-05-22

    Funnily enough this is (was?) used by the Scala collection library's TreeSet/TreeMap, for fast performance of the `take` and `drop` operations. This is a red-black tree though, not a B-Tree.

    Commit https://github.com/scala/scala/pull/82/commits/b7e671446892c... of PR https://github.com/scala/scala/pull/82

  • nix

    Nix, the purely functional package manager

  • Project mention: OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computers | news.ycombinator.com | 2024-04-28
  • 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: The problem with new URL(), and how URL.parse() fixes that | news.ycombinator.com | 2024-05-19

    You might be interested in `fp-ts` (and the related `io-ts`).

    https://gcanti.github.io/fp-ts/

    https://gcanti.github.io/io-ts/

  • Cycle.js

    A functional and reactive JavaScript framework for predictable code

  • Project mention: Enlightenmentware | news.ycombinator.com | 2024-05-20

    In my case Cycle JS (https://cycle.js.org) was very enlightenment and pedagogic. It make me realize that software is always and only a matter of data transformation. And those pure data transformations can be keep separated and decoupled from "side effects".

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

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

  • bash-oo-framework

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

  • Carp

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

  • Project mention: The search for easier safe systems programming | news.ycombinator.com | 2024-05-08
  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub 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

  • LunarML – The Standard ML compiler that produces Lua/JavaScript

    2 projects | news.ycombinator.com | 22 May 2024
  • The problem with new URL(), and how URL.parse() fixes that

    2 projects | news.ycombinator.com | 19 May 2024
  • How to shuffle an array in JavaScript

    1 project | dev.to | 16 May 2024
  • Jank programming language – Clojure/LLVM/C++

    1 project | news.ycombinator.com | 9 May 2024
  • How to set up a new project using Yarn

    5 projects | dev.to | 8 May 2024
  • OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computers

    2 projects | news.ycombinator.com | 28 Apr 2024
  • Arrow Project for Arrow on GitHub

    1 project | news.ycombinator.com | 25 Apr 2024
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 23 May 2024
    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. Learn more →

Index

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

Project Stars
1 lodash 59,011
2 underscore 27,245
3 ramda 23,611
4 mostly-adequate-guide 23,217
5 functional-programming-jargon 18,545
6 Functional-Light-JS 16,507
7 lila 14,678
8 scala 14,280
9 nix 11,122
10 milewski-ctfp-pdf 10,784
11 fp-ts 10,534
12 Cycle.js 10,234
13 ios-oss 8,372
14 fish-redux 7,341
15 RxKotlin 7,002
16 language-ext 6,207
17 lazy.js 6,026
18 AlgoXY 5,999
19 Kategory 5,992
20 android-oss 5,738
21 Javaslang 5,545
22 bash-oo-framework 5,540
23 Carp 5,393

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com