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: Sept. 27, 2022, 6:01 p.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

22.38K
1.44K
42d
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.

612
84
7m
BSD-3-Clause

๐Ÿค˜Utility library for functional JavaScript. With โค๏ธ to Ramda.

147
25
1y 6m
Apache-2.0

Faster and smaller alternative to Ramda

1.24K
73
7m
MIT

Extended version of Rambda

170
19
7m
MIT

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

54.4K
6.65K
1y 5m
n/a

A functional JavaScript library that facilitates currying and point-free programming

216
14
5y 9m
n/a

A modern JS utility library

1.56K
86
4y 5m
MIT

a functional library for coffeescript (and javascript)

13
1
6y 9m
n/a

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

101
10
4y 11m
n/a

A practical functional programming library for promises

46
4
4y 9m
MIT

Hardcore Functional Programming for JavaScript

91
5
2y 5m
MIT

Functional tools that couldnโ€™t be simpler.

777
60
3y 93d
MIT

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

6
2
8y 8m
n/a

Currying made simple.

84
7
6y 11m
MIT

Function composition

52
3
6y 11m
MIT

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

49
0
7y 6m
MIT
144
12
8y 82d
n/a

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

212
59
8m
MIT

[DEFUNCT] trifling functional views

37
1
5y 6m
n/a

An experiment in adding functional pattern matching to JavaScript

246
23
4y 4m
n/a

Functional programming date manipulation library

124
18
4y 4m
n/a

Immutable date and time library for javascript

1.39K
109
7m
n/a

Make native methods available as partially applied functions.

43
2
8y 7m
MIT

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

80
4
8y 6m
MIT

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

432
22
7m
MIT

Javascript Generalized Parser Combinators

117
9
1y 4m
LGPL-2.1

Abstraction for managing asynchronous code in JS

368
18
3y 11m
MIT

Ultra-high performance reactive programming

3.42K
232
1y 11m
MIT

โ˜ฏ The simplest signal library possible

40
1
1y 32d
n/a

Functional Programming Library for JavaScript, TypeScript and Flow โœจโšก๏ธ

618
26
3y 62d
Apache-2.0

pico sized functional library

70
6
4y 10m
MIT

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

261
21
5y 4m
n/a

Functional Programming for EcmaScript(Javascript)

38
4
8m
MIT

TypeScript Grid Computing Framework supporting RFC (Remote Function Call)

83
15
9m
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

472
19
7m
Apache-2.0

The iterable toolbox

122
19
7m
MIT

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

680
61
1y 53d
MIT

[a]synchronous functional programming

187
13
8m
MIT

Powerful pipes for TypeScript, that chain Promise and ADT for you ๐ŸšŒ -> โ›ฐ๏ธ -> ๐Ÿš  -> ๐Ÿ‚ -> ๐Ÿš€

14
0
11m
MIT

Curry All Code

132
6
1y 9m
n/a

๐Ÿฆฅ A lazy functional iteration library supporting sync, async, and concurrent iteration.

83
1
10m
Apache-2.0

TypeScript multimethods inspired by Clojure multimethods

0
0
11m
MIT

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

0
0
10m
MIT

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

604
49
8m
MIT
70
4
1y 11m
n/a

Powerful dependency injection container for building modular apps.

48
0
8m
MIT

Reactive state and effect management with RxJS

23
1
8m
MIT

A functional programming library for TypeScript/JavaScript

239
15
9m
Apache-2.0

JS/TS lightweight value-multimethod util

3
0
5m
MIT

A library for safer and smarter error- and "nothing"-handling in TypeScript.

501
19
113d
MIT

faster than remeda, ramda, rambda, and lodash/fp.)

Data Structures

Utilities for treating frozen JavaScript objects as persistent immutable collections

401
35
2y 10m
MIT

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

32.24K
1.85K
95d
MIT

Create the next immutable state by mutating the current one

22.16K
695
7m
MIT

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

3.36K
152
7y 88d
n/a

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

3.11K
130
1y 8m
MIT

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

16
0
7y 50d
n/a

Like Underscore, but lazier

6.01K
300
4y 64d
MIT

Functional Reactive State for JavaScript and TypeScript

512
22
4y 6m
Apache-2.0

๐Ÿ˜ด Functional programming with lazy immutable iterables

96
3
7m
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.

243
15
1y 27d
MIT

๐Ÿ† An immutable list with unmatched performance and a comprehensive functional API.

1.61K
49
9m
MIT

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

339
17
1y 77d
ISC

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

463
43
9m
MIT

Algebraic Data Types

Specification for interoperability of common algebraic structures in JavaScript

9.28K
377
1y 5m
MIT

Specification for common algebraic structures in JavaScript based on Fantasy Land

732
46
3y 34d
MIT

fantasyland extensions for immutablejs

483
27
4y 98d
ISC

Library for creating tagged constructors.

671
43
1y 70d
MIT

Refuge from unsafe JavaScript

2.87K
104
8m
MIT

A small JavaScript library for defining and using union types.

478
29
3y 115d
MIT

Free monad Collection

164
14
6y 24d
MIT

Fantasy Land compliant (monadic) alternative to Promises

2.28K
91
10m
MIT

Common combinators.

65
7
6y 8m
n/a

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

81
8
6y 7m
n/a

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

1.5K
110
1y 4m
ISC

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

20
1
1y 5d
MIT

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

1.06K
47
7m
ISC

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

144
16
1y 8m
MIT

๐Ÿฅƒ Functional Algebraic Data Types

276
11
1y 5m
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
2y 5m
MIT

Lenses

Composable kmett style lenses

210
13
7y 1d
n/a

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

84
4
6y 4m
n/a

Lens library built on ramda

185
15
5y 107d
n/a

Composable, immutable getters and setters.

109
9
6y 8m
n/a

A Lens Library for Javascript

177
4
7y 111d
MIT

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

875
40
3y 7m
MIT

A lodash-inspired lens-like library for Javascript

386
14
2y 6m
MIT

Functional Languages that Compile to JavaScript

Clojure to JS compiler

8.81K
770
7m
EPL-1.0

Haskell to JavaScript compiler, based on GHC

2.5K
188
9m
MIT

Converts Elixir to JavaScript

1.51K
68
3y 39d
MIT

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

317
37
4y 10m
GPL-3.0

ื™ื•ืŸ no BS JS (under heavy dev)

77
3
5y 15d
n/a

Lisp that compiles to JavaScript in the Ramda way

131
5
4y 8m
MIT

Racket to JavaScript Compiler

7
2
1y 42d
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

911
44
4y 7m
MIT

Monadic Assertions library

20
0
5y 6m
MIT

Runtime type checking for JS with Hindley Milner signatures

181
14
2y 10m
MIT

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

43
1
4y 6m
MIT

Books

Articles

Jargon from the functional programming world in simple terms!

14.4K
862
2y 4d
MIT

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

826
35
8m
n/a

Videos

Examples and Exercises

Learning the functional paradigm with js

93
20
7y 59d
MIT

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

2K
447
5y 10m
n/a

A functional frontend framework.

1.42K
93
6y 10m
MIT

A puzzle game inspired by functional programming

1.86K
81
7m
MIT

YouTube search app with ReactJS, Redux, and FP concepts

58
8
5y 8m
n/a

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

255
25
2y 7m
MIT

Related Lists

A curated list of awesome functional reactive programming stuff in js

279
15
6y 8m
n/a

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

740
50
8m
n/a

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

3.06K
281
8m
n/a

A Learning Path for Functional Programming

724
79
1y 7m
MIT

Talk