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.
Hot right now
Most stars gained in a day · Oct 16
+44bend
bendlang/bend · ★ 23.7KA 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.
nixpkgs
NixOS/nixpkgs · ★ 26.5KNixpkgs 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.
+12effect
Effect-TS/effect · ★ 17.3KEffect 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.
+7frontend-dev-bookmarks
dypsilon/frontend-dev-bookmarks · ★ 47.6KA 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.
The all-time top
45 projects · by stars
- 94.7K
#1 · ryanmcdermott/clean-code-javascriptclean-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.
- 76.9K
#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).
- 66.5K
#3 · leonardomso/33-js-concepts33-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.
- 4

lodash
61.3Klodash/lodash · JavaScriptLodash is a modern JavaScript utility library - small helper functions that take the hassle out of working with arrays, numbers, objects, and strings.
- 5
RxJava
48.2KReactiveX/RxJava · JavaRxJava is a Java library (Reactive Extensions for the JVM) for composing asynchronous and event-based programs using observable sequences.
- 6

frontend-dev-bookmarks
47.6Kdypsilon/frontend-dev-bookmarksA 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.
- 7
date-fns
36.6Kdate-fns/date-fns · TypeScriptA 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'.
- 8

immutable-js
33Kimmutable-js/immutable-js · TypeScriptA 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.
- 9

underscore
27.3Kjashkenas/underscore · JavaScriptUnderscore.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.
- 10

elixir
26.7Kelixir-lang/elixir · ElixirElixir is a programming language designed for building scalable and maintainable applications, running on the Erlang VM (BEAM).
- 11
nixpkgs
26.5KNixOS/nixpkgs · NixNixpkgs 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.
- 12

ramda
24Kramda/ramda · JavaScriptRamda is a practical functional library for JavaScript: a set of functions for building functional pipelines in a style that never mutates your data.
- 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.
- 14

bend
23.7Kbendlang/bend · TypeScriptA 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.
- 15

react-redux-links
22.5Kmarkerikson/react-redux-linksA 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.
- 16

lo
21.4Ksamber/lo · Gosamber/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.
- 17

jotai
21.3Kpmndrs/jotai · TypeScriptJotai 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.
- 18

RxJS
19.3KReactive-Extensions/RxJS · JavaScriptRxJS (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.
- 19

hyperapp
19.2Khyperapp/hyperapp · JavaScriptHyperapp is a tiny (about 1kB) JavaScript framework for building purely functional, browser-based 'hypertext applications' using views, actions, effects and subscriptions.
- 20
lila
18.8Klichess-org/lila · ScalaLichess (lila) is the free, adless and open source online chess server behind lichess.org, focused on realtime play and ease of use.
- 21

functional-programming-jargon
18.7Khemanth/functional-programming-jargon · JavaScriptA glossary that explains functional programming jargon (like currying, monads, functors) in plain English with short JavaScript examples.
- 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.
- 23

effect
17.3KEffect-TS/effect · TypeScriptEffect 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.
- 24

Functional-Light-JS
16.7Kgetify/Functional-Light-JS · JavaScriptThis 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.
- 25

java8-tutorial
16.7Kwinterbe/java8-tutorial · JavaA 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.
- 26

recompose
14.8Kacdlite/recompose · JavaScriptRecompose 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.
- 27
scala
14.6Kscala/scala · ScalaThis 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.
- 28

awesome-elixir
13.2Kh4cc/awesome-elixir · ElixirA 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.
- 29

otp
12.4Kerlang/otp · ErlangErlang 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.
- 30

milewski-ctfp-pdf
11.7Khmemcpy/milewski-ctfp-pdf · TeXAn unofficial PDF and LaTeX version of Bartosz Milewski's 'Category Theory for Programmers' book, converted from his blog post series with his permission.
- 31

fp-ts
11.5Kgcanti/fp-ts · TypeScriptfp-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.
- 32

Learning-SICP
11.3KDeathKing/Learning-SICP · RubyThis 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.
- 33

clojure
11Kclojure/clojure · JavaThis 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.
- 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.
- 35
chia-blockchain
10.8KChia-Network/chia-blockchain · PythonChia-blockchain is the official Python implementation of the Chia cryptocurrency, bundling full node, farmer, harvester, timelord, and wallet software.
- 36

resilience4j
10.8Kresilience4j/resilience4j · JavaResilience4j 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.
- 37
reason
10.3Kreasonml/reason · OCamlReason is a programming language for writing simple, fast, type-safe code while leveraging both the JavaScript and OCaml ecosystems.
- 38

fantasy-land
10.2Kfantasyland/fantasy-land · JavaScriptFantasy 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.
- 39

cyclejs
10.2Kcyclejs/cyclejs · TypeScriptCycle.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.
- 40
unison
6.8Kunisonweb/unison · HaskellUnison 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.
- 41

NavierStokesAndEuler
2.1Kopenai/NavierStokesAndEuler · LeanThis 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'.
- 42

imp
254deepfates/imp · ElixirImp 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.
- 43
auth
232yielded-dev/auth · TypeScriptA 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.
- 44
morloc
219morloc-project/morloc · RustMorloc 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.
- 45

PLHaskell
148ed-o-saurus/PLHaskell · PythonPL/Haskell is a PostgreSQL extension — a 'procedural language' — that lets you write, install, and run functions written in Haskell directly from SQL code.
Related topics
Often tagged together
- open-source5,666
- javascript1,842
- mit3,312
- library1,587
- developer-tools2,924
- web2,447
- linux4,184
- nodejs1,506
- frontend1,080
- typescript1,821
- npm1,019
- programming-language88
- apache-2.01,434
- free970
- macos3,544
- cross-platform2,623
- education933
- web-development590
- compiler165
- learning511
- programming165
- windows3,403
- cli2,227
- concurrency93