Topics / #functional-programming

Functional-programming projects on GitHub

Functional programming paradigm and techniques

As of , the most-starred Functional-programming projects on GitHub are clean-code-javascript (94.7K stars), nest (76.9K stars) and 33-js-concepts (66.5K stars). GitHub.Locker tracks 45 Functional-programming repositories with 1M stars combined. The fastest-growing on October 16 was bend, with +44 stars in a day.

45Projects
1MStars in total
+124Stars in a day

Hot right now

Most stars gained in a day · Oct 16

The all-time top

45 projects · by stars

  1. #1 · ryanmcdermott/clean-code-javascript

    clean-code-javascript

    This is a guide that adapts the software engineering principles from Robert C. Martin's book 'Clean Code' specifically for JavaScript, with practical bad/good code examples.

    94.7K
  2. #2 · nestjs/nest

    nest

    Nest is a progressive Node.js framework for building efficient, scalable, enterprise-grade server-side applications using TypeScript (while staying compatible with plain JavaScript).

    76.9K
  3. #3 · leonardomso/33-js-concepts

    33-js-concepts

    A curated collection of 33 (plus bonus) core JavaScript concepts every developer should know, each with explanations, code examples, and curated resources to help you learn the language in depth.

    66.5K
  1. 4

    lodash

    61.3Klodash/lodash · JavaScript

    Lodash is a modern JavaScript utility library - small helper functions that take the hassle out of working with arrays, numbers, objects, and strings.

  2. 5

    RxJava

    48.2KReactiveX/RxJava · Java

    RxJava is a Java library (Reactive Extensions for the JVM) for composing asynchronous and event-based programs using observable sequences.

  3. 6

    frontend-dev-bookmarks

    47.6Kdypsilon/frontend-dev-bookmarks

    A manually curated collection of links and resources for frontend web developers, organized into topic categories like Appearance, Architecture, Compatibility, Ecosystem, Languages/Protocols/Browser APIs, UI Components, and Workflow.

  4. 7

    date-fns

    36.6Kdate-fns/date-fns · TypeScript

    A modern JavaScript date utility library: 200+ functions for manipulating dates in the browser and Node.js. The README describes it as 'like Lodash for dates'.

  5. 8

    immutable-js

    33Kimmutable-js/immutable-js · TypeScript

    A JavaScript library of persistent immutable data structures: List, Stack, Map, OrderedMap, Set, OrderedSet and Record. Nothing changes in place - each operation returns a new updated collection.

  6. 9

    underscore

    27.3Kjashkenas/underscore · JavaScript

    Underscore.js is a utility-belt library for JavaScript that provides functional programming helpers like each, map, reduce, and filter, without extending any core JavaScript objects.

  7. 10

    elixir

    26.7Kelixir-lang/elixir · Elixir

    Elixir is a programming language designed for building scalable and maintainable applications, running on the Erlang VM (BEAM).

  8. 11

    nixpkgs

    26.5KNixOS/nixpkgs · Nix

    Nixpkgs is a collection of over 140,000 software packages that can be installed using the Nix package manager, and it also implements NixOS, a purely-functional Linux distribution built on top of those packages.

  9. 12

    ramda

    24Kramda/ramda · JavaScript

    Ramda is a practical functional library for JavaScript: a set of functions for building functional pipelines in a style that never mutates your data.

  10. 13

    mostly-adequate-guide

    23.8KMostlyAdequate/mostly-adequate-guide · JavaScript

    'Mostly Adequate Guide to FP' is a free book that teaches functional programming concepts using JavaScript, going from pure functions and composition up through functors, monads and other categorical ideas.

  11. 14

    bend

    23.7Kbendlang/bend · TypeScript

    A high-level, massively parallel programming language. It feels like Python or Haskell (closures, unrestricted recursion, continuations) but scales across many cores and GPUs with no thread or lock code to write.

  12. 15

    react-redux-links

    22.5Kmarkerikson/react-redux-links

    A curated collection of tutorial and resource links on React, Redux, ES6, webpack, and more, hand-picked by Mark Erikson as a starting point for learning the React-Redux ecosystem.

  13. 16

    lo

    21.4Ksamber/lo · Go

    samber/lo is a Lodash-style utility library for Go built on 1.18+ generics: dozens of helpers for filtering, mapping, grouping and reducing slices, maps, strings, channels and functions.

  14. 17

    jotai

    21.3Kpmndrs/jotai · TypeScript

    Jotai is a primitive and flexible state management library for React. It scales from a simple useState replacement all the way to an enterprise TypeScript application.

  15. 18

    RxJS

    19.3KReactive-Extensions/RxJS · JavaScript

    RxJS (Reactive Extensions for JavaScript) is a set of libraries for composing asynchronous and event-based programs using observable sequences and fluent, Array#extras-style query operators.

  16. 19

    hyperapp

    19.2Khyperapp/hyperapp · JavaScript

    Hyperapp is a tiny (about 1kB) JavaScript framework for building purely functional, browser-based 'hypertext applications' using views, actions, effects and subscriptions.

  17. 20

    lila

    18.8Klichess-org/lila · Scala

    Lichess (lila) is the free, adless and open source online chess server behind lichess.org, focused on realtime play and ease of use.

  18. 21

    functional-programming-jargon

    18.7Khemanth/functional-programming-jargon · JavaScript

    A glossary that explains functional programming jargon (like currying, monads, functors) in plain English with short JavaScript examples.

  19. 22

    nix

    17.9KNixOS/nix · C++

    Nix is a purely functional package manager for Linux and other Unix systems that makes installing software reliable and reproducible.

  20. 23

    effect

    17.3KEffect-TS/effect · TypeScript

    Effect is a TypeScript library for building robust, maintainable, type-safe, production-grade applications. It tackles the hard problems at scale: typed errors, dependency injection, structured concurrency, scheduling, tracing, and schema validation.

  21. 24

    Functional-Light-JS

    16.7Kgetify/Functional-Light-JS · JavaScript

    This is a free, complete online book (and companion workshop) that teaches a pragmatic, scoped-down subset of functional programming — what the author calls 'Functional-Light Programming' — applied directly to real JavaScript code.

  22. 25

    java8-tutorial

    16.7Kwinterbe/java8-tutorial · Java

    A free tutorial that walks through the new features introduced in Java 8: default interface methods, lambda expressions, method references, functional interfaces, streams, and the new Date/Time API, all shown through short commented code snippets.

  23. 26

    recompose

    14.8Kacdlite/recompose · JavaScript

    Recompose is a React utility belt for function components and higher-order components — think of it as lodash for React: a toolkit of small, composable helper functions rather than an app or a framework.

  24. 27

    scala

    14.6Kscala/scala · Scala

    This is the official Scala 2 repository: the source for the Scala 2 compiler, standard library, and language specification. Bug reports go to scala/bug, and Scala 3 is developed separately at scala/scala3.

  25. 28

    awesome-elixir

    13.2Kh4cc/awesome-elixir · Elixir

    A curated directory of awesome Elixir (and Erlang) libraries, resources and shiny things, inspired by awesome-php. It is a reading list of packages, not a tool you install.

  26. 29

    otp

    12.4Kerlang/otp · Erlang

    Erlang is a programming language and runtime system for building massively scalable soft real-time systems that must stay highly available. This repo ships both the language and OTP.

  27. 30

    milewski-ctfp-pdf

    11.7Khmemcpy/milewski-ctfp-pdf · TeX

    An unofficial PDF and LaTeX version of Bartosz Milewski's 'Category Theory for Programmers' book, converted from his blog post series with his permission.

  28. 31

    fp-ts

    11.5Kgcanti/fp-ts · TypeScript

    fp-ts is a library for typed functional programming in TypeScript, bringing patterns and abstractions like Option, Either, IO, Task, Functor, Applicative and Monad to TypeScript apps.

  29. 32

    Learning-SICP

    11.3KDeathKing/Learning-SICP · Ruby

    This is a Chinese translation project for MIT's famous SICP (Structure and Interpretation of Computer Programs) video lecture course, plus a collection of related learning materials like the book, Scheme tutorials, and exercise solutions.

  30. 33

    clojure

    11Kclojure/clojure · Java

    This is the source repository of the Clojure programming language — a functional Lisp dialect that runs on the Java Virtual Machine, with the compiler and runtime themselves written in Java.

  31. 34

    FTXUI

    10.8KArthurSonzogni/FTXUI · C++

    FTXUI is a simple cross-platform C++ library for building terminal user interfaces — full-screen text apps with colors, layout, widgets, and keyboard and mouse input.

  32. 35

    chia-blockchain

    10.8KChia-Network/chia-blockchain · Python

    Chia-blockchain is the official Python implementation of the Chia cryptocurrency, bundling full node, farmer, harvester, timelord, and wallet software.

  33. 36

    resilience4j

    10.8Kresilience4j/resilience4j · Java

    Resilience4j is a lightweight fault tolerance library for Java that lets you decorate function calls with resilience patterns like Circuit Breaker, Retry, Rate Limiter, Bulkhead, Time Limiter and Cache.

  34. 37

    reason

    10.3Kreasonml/reason · OCaml

    Reason is a programming language for writing simple, fast, type-safe code while leveraging both the JavaScript and OCaml ecosystems.

  35. 38

    fantasy-land

    10.2Kfantasyland/fantasy-land · JavaScript

    Fantasy Land (aka 'Algebraic JavaScript Specification') is a specification defining how common algebraic structures in JavaScript — equality, ordering, concatenation, mapping, chaining — must behave, so that types from different libraries can interoperate.

  36. 39

    cyclejs

    10.2Kcyclejs/cyclejs · TypeScript

    Cycle.js is a functional and reactive JavaScript framework for writing predictable code. Applications are composed from streams, with focused add-on packages for the DOM, HTTP requests and browser history.

  37. 40

    unison

    6.8Kunisonweb/unison · Haskell

    Unison is a statically-typed functional programming language with type inference, an effect system, and advanced tooling, built around the idea of content-addressed code where functions are identified by a hash of their implementation rather than a name.

  38. 41

    NavierStokesAndEuler

    2.1Kopenai/NavierStokesAndEuler · Lean

    This repository contains Lean 4 formalizations (machine-checked formal proofs) of two OpenAI papers: 'Finite time blowup for Navier-Stokes' and 'Finite time blowup for the Euler equation'.

  39. 42

    imp

    254deepfates/imp · Elixir

    Imp is a full port of DSPy to the BEAM: an Elixir framework for building and automatically improving language-model programs. You declare a step's inputs and outputs as a typed signature, and an optimizer tunes its prompts or examples against labeled data.

  40. 43

    auth

    232yielded-dev/auth · TypeScript

    A composable authentication, session, and identity workflow library built specifically for the Effect ecosystem. You define your auth contract with Schema and wire up infrastructure through Effect Layers.

  41. 44

    morloc

    219morloc-project/morloc · Rust

    Morloc is a strongly-typed, polyglot compiler: it composes functions written in different languages under one common type system and turns each module into a CLI, an API and an MCP server.

  42. 45

    PLHaskell

    148ed-o-saurus/PLHaskell · Python

    PL/Haskell is a PostgreSQL extension — a 'procedural language' — that lets you write, install, and run functions written in Haskell directly from SQL code.

Often tagged together