Tags / Programming languages and compilers /
Functional programming library
Library that adds functional constructs to a language, such as monads, immutable data, or pattern matching.
Repositories
40
Net stars gained, last 7 days
+67
Top-level Tag
Net stars gained each day, last 90 days
Peak days
- 1
Sep 1, 2026 +129 net stars (median day +29)
- Effect-TS/effect+117 (91%)
- gvergnaud/ts-pattern+3 (2%)
- ahmetb/go-linq+2 (2%)
- 2
Oct 2, 2026 +264 net stars (median day +29)
- Effect-TS/effect+252 (95%)
- dry-python/returns+2 (1%)
- immerjs/immer+2 (1%)
- 3
Oct 3, 2026 +266 net stars (median day +29)
- Effect-TS/effect+258 (97%)
- samber/lo+2 (1%)
- 4
Oct 4, 2026 +133 net stars (median day +29)
- Effect-TS/effect+118 (89%)
- lodash/lodash+3 (2%)
- gvergnaud/ts-pattern+2 (2%)
A peak day has at least 2 times the net stars of the median day of this chart, and at least 100 more. For each peak day, the list shows the repositories that gained the most net stars that day. It also shows their GitHub releases of that day or the day before (UTC), and their creation date when it was 14 days or less before. These events occur near the same day. They do not show why the stars came.
Largest
Most stars in total now.
readme:
Lodash makes JavaScript easier by taking the hassle out of working with arrays, numbers, objects, strings, etc.
readme:
Immutable.js provides many Persistent Immutable data structures including: `List`, `Stack`, `Map`, `OrderedMap`, `Set`, `OrderedSet` and `Record`.
readme:
Create the next immutable state tree by simply modifying the current tree
readme:
support for the usual functional suspects (each, map, reduce, filter...)
- ramda/ramda24K
readme:
Ramda functions are automatically curried. This allows you to easily build up new functions from old ones simply by not supplying the final parameters.
- samber/lo21K
description:
💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...)
readme:
It helps you handle the hard problems at scale: typed errors, dependency injection, structured concurrency, scheduling, tracing, and unified schema validation.
description:
The exhaustive Pattern Matching library for TypeScript, with smart type inference.
- gcanti/fp-ts12K
readme:
`fp-ts` is a library for _typed functional programming_ in TypeScript.
readme:
This package contains a `Result` type that represents either success (`Ok`) or failure (`Err`).
How a repository gets this Tag
An agent reads the description, the GitHub topics, and the start of the README of each repository. It chooses Tags only from the Tag list in the AwesomeRepos source code. For each Tag, it quotes the text. A code check keeps the Tag only when the quote is in that text. The quote under each repository is that evidence. A Tag does not rank repositories. It does not say that one repository can replace another. To report a wrong Tag, use "Report a problem with this page" on the page of the repository. All numbers on this page count only visible repositories.