User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome Functional Programming

A curated list of awesome functional programming stuff in js

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: Dec. 4, 2021, 11:05 a.m.

Thank you stoeffel & contributors
View Topic on GitHub:
stoeffel/awesome-fp-js

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

Libraries

Practical functional Javascript

21.44K
1.37K
3d
MIT

Ramda Adjunct is the most popular and most comprehensive set of functional utilities for use with Ramda, providing a variety of useful, well tested functions with excellent documentation.

600
83
8d
BSD-3-Clause

🤘Utility library for functional JavaScript. With ❤️ to Ramda.

146
25
8m
Apache-2.0

Faster and smaller alternative to Ramda

1.2K
70
7d
MIT

Extended version of Rambda

162
18
116d
MIT

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

51.48K
6.13K
7m
n/a

A modern JS utility library

1.56K
83
3y 7m
MIT

a functional library for coffeescript (and javascript)

13
1
6y 1d
n/a

tiny (2.7kb) functional programming library using native es5/6 operations

103
10
4y 40d
n/a

A practical functional programming library for promises

46
4
3y 11m
MIT

Hardcore Functional Programming for JavaScript

90
4
1y 7m
MIT

Functional tools that couldn’t be simpler.

763
61
2y 5m
MIT

A simple function to curry a function with an arbitrary number of arguments.

6
2
7y 11m
n/a

Currying made simple.

84
7
6y 42d
MIT

Function composition

51
3
6y 62d
MIT

A library which aids in making any JavaScript library more functional.

49
0
6y 8m
MIT
145
12
7y 5m
n/a

A JavaScript library for building React applications in more functional way. Alternative to JSX.

207
57
6m
MIT

[DEFUNCT] trifling functional views

37
1
4y 8m
n/a

An experiment in adding functional pattern matching to JavaScript

248
23
3y 6m
n/a

Functional programming date manipulation library

125
18
3y 6m
n/a

Immutable date and time library for javascript

1.38K
104
28d
n/a

Make native methods available as partially applied functions.

43
2
7y 10m
MIT

[Unmaintained: please use jsverify instead] A property-based testing library for clearly specifying code invariants and behaviour.

80
4
7y 8m
MIT

FP library for JavaScript. Supports named-argument style methods.

427
22
23d
MIT

Javascript Generalized Parser Combinators

116
9
7m
LGPL-2.1

Abstraction for managing asynchronous code in JS

368
18
3y 54d
MIT

Ultra-high performance reactive programming

3.41K
230
1y 56d
MIT

☯ The simplest signal library possible

40
1
100d
n/a

Functional Programming Library for JavaScript, TypeScript and Flow ✨⚡️

617
26
2y 4m
Apache-2.0

pico sized functional library

71
6
4y 14d
MIT

An extremely small, intuitive and fast functional utility library for JavaScript

260
21
4y 6m
n/a

Functional Programming for EcmaScript(Javascript)

39
4
40d
MIT

TypeScript Grid Computing Framework supporting RFC (Remote Function Call)

82
15
9d
MIT

Features from the rust language in javascript: Provides Traits/Type classes & a hashing infrastructure and an advanced library for working with sequences/iterators in js

466
19
12d
Apache-2.0

The iterable toolbox

116
18
40d
MIT

F(unctional) util(ities). Resistance is futile.

651
58
4m
MIT

[a]synchronous functional programming

179
13
61d
MIT

Powerful pipes for TypeScript, that chain Promise and ADT for you 🚌 -> ⛰️ -> 🚠 -> 🏂 -> 🚀

12
0
54d
MIT

Curry All Code

132
6
11m
n/a

🦥 A lazy functional iteration library supporting sync, async, and concurrent iteration.

78
1
11d
Apache-2.0

TypeScript multimethods inspired by Clojure multimethods

0
0
55d
MIT

Tiny TypeScript functional dependency injection, based on Node.js AsyncLocalStorage

0
0
14d
MIT

A Fully-fledged functional effect system for typescript with a rich standard library

546
44
1d
MIT
69
4
1y 46d
n/a

Powerful dependency injection container for building modular apps.

45
0
16d
MIT

Reactive state and effect management with RxJS

21
0
10d
MIT

Data Structures

Utilities for treating frozen JavaScript objects as persistent immutable collections

400
35
2y 25d
MIT

Immutable persistent data collections for Javascript which increase efficiency and simplicity.

31.63K
1.85K
22d
MIT

Create the next immutable state by mutating the current one

21.68K
672
10d
MIT

ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript

3.35K
150
6y 5m
n/a

JavaScript & TypeScript persistent and optionally immutable data tree with cursors.

3.1K
129
10m
MIT

High performance implementation of Immutable Sequence in JavaScript, based on Finger Tree.

16
0
6y 118d
n/a

Like Underscore, but lazier

5.99K
296
3y 4m
MIT

Functional Reactive State for JavaScript and TypeScript

513
22
3y 8m
Apache-2.0

😴 Functional programming with lazy immutable iterables

95
3
33d
MIT

High-performance immutable data structures for modern JavaScript and TypeScript applications. Functional interfaces, deep/composite operations API, mixed mutability API, TypeScript definitions, ES2015 module exports.

240
15
95d
MIT

🐆 An immutable list with unmatched performance and a comprehensive functional API.

1.61K
47
1y 88d
MIT

Functional programming, immutable collections and FP constructs for typescript and javascript

340
17
4m
ISC

TypeScript-STL (Standard Template Library, migrated from C++)

445
43
84d
MIT

Algebraic Data Types

Specification for interoperability of common algebraic structures in JavaScript

9.19K
373
7m
MIT

Specification for common algebraic structures in JavaScript based on Fantasy Land

723
46
2y 102d
MIT

fantasyland extensions for immutablejs

483
26
3y 5m
ISC

Library for creating tagged constructors.

665
43
4m
MIT

Refuge from unsafe JavaScript

2.84K
104
44d
MIT

A small JavaScript library for defining and using union types.

476
29
2y 6m
MIT

Free monad Collection

162
14
5y 92d
MIT

Fantasy Land compliant (monadic) alternative to Promises

2.24K
90
13d
MIT

Common combinators.

65
7
5y 10m
n/a

port of the haskell package Data.Aviary.Birds. Every thing for your combinatory needs.

81
8
5y 9m
n/a

A collection of well known Algebraic Data Types for your utter enjoyment.

1.5K
109
6m
ISC

A utility library to write code in functional programming style in Javascript

21
1
73d
MIT

Functional programming library for TypeScript - https://gigobyte.github.io/purify/

1.02K
44
3d
ISC

MojiScript is an async-first, opinionated, and functional library

145
16
10m
MIT

🥃 Functional Algebraic Data Types

269
10
8m
Apache-2.0

🔧 Tifi solves a problem of the existence of both undefined and null. Inspired by the OCaml/Reason utilities for various data types.

47
0
1y 7m
MIT

Lenses

Composable kmett style lenses

212
13
6y 69d
n/a

Profunctor implementation of Lenses, Prisms, Traversals, Isos, etc.

84
4
5y 7m
n/a

Lens library built on ramda

185
15
4y 5m
n/a

Composable, immutable getters and setters.

109
9
5y 10m
n/a

A Lens Library for Javascript

176
3
6y 5m
MIT

Partial lenses is a comprehensive, high-performance optics library for JavaScript

874
40
2y 10m
MIT

A lodash-inspired lens-like library for Javascript

382
14
1y 9m
MIT

Functional Languages that Compile to JavaScript

Clojure to JS compiler

8.78K
763
1d
EPL-1.0

Haskell to JavaScript compiler, based on GHC

2.48K
185
17d
MIT

Converts Elixir to JavaScript

1.5K
67
2y 107d
MIT

A multi-paradigm programming language with gradual and duck typing that targets PHP and JS

316
37
4y 15d
GPL-3.0

יון no BS JS (under heavy dev)

76
3
4y 83d
n/a

Lisp that compiles to JavaScript in the Ramda way

131
5
3y 10m
MIT

Racket to JavaScript Compiler

6
2
110d
MIT

F# to readable JavaScript.

OCaml bytecode to JavaScript, making it possible to run OCaml programs in the browser.

Bucklescript) ReScript is a type-safe language that compiles to the highest quality of clean, readable and performant JavaScript code.

Programming Tools

ESLint rules for functional programming

901
44
3y 9m
MIT

Monadic Assertions library

20
0
4y 9m
MIT

Runtime type checking for JS with Hindley Milner signatures

178
12
2y 24d
MIT

ftor enables ML-like type-directed, functional programming with Javascript including reasonable debugging.

43
1
3y 9m
MIT

Books

Articles

Jargon from the functional programming world in simple terms!

14.31K
855
1y 72d
MIT

Avoid The One-off Problem, Infinite Loops, Statefulness and Hidden intent.

789
34
34d
n/a

Videos

Examples and Exercises

Learning the functional paradigm with js

95
20
6y 4m
MIT

A functional javascript workshop. No libraries required (i.e. no underscore), just ES5.

1.99K
443
5y 20d
n/a

A functional frontend framework.

1.42K
92
6y 11d
MIT

A puzzle game inspired by functional programming

1.84K
78
2y 11d
MIT

YouTube search app with ReactJS, Redux, and FP concepts

58
8
4y 10m
n/a

Example Project & Guide for mastering Promises in Node/JavaScript. Feat. proposed 'Functional River' pattern

255
25
1y 10m
MIT

Related Lists

A curated list of awesome functional reactive programming stuff in js

271
15
5y 10m
n/a

A curated list of functional programming resources such as blog posts, communities, discussion topics, wikis and more.

718
50
36d
n/a

Yet another resource for collecting articles, videos etc. regarding functional programming

2.72K
270
1y 7m
n/a

A Learning Path for Functional Programming

686
76
10m
MIT

Talk