Introducing
The Slant team built an AI & it’s awesome
Find the best product instantly
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now
4.7 star rating
0
Development
Backend Development
Frontend Development
What are the best libraries for functional programming on Node.js?
16
Options
Considered
62
User
Recs.
Sep 2, 2021
Last
Updated
Related Questions
Activity
Have feedback or ideas?
Join our community
on Discord
Ad
16
Options
Considered
Best libraries for functional programming on Node.js
Price
Time model
Last Updated
--
Ramda
-
-
Sep 2, 2021
--
RxJS
-
-
Jun 20, 2020
--
lodash
-
-
Apr 2, 2020
--
Functools
-
-
Sep 14, 2017
--
mori
-
-
Dec 3, 2020
See Full List
--
Ramda
My Rec
ommendation
for
Ramda
My Recommendation for
Ramda
All
9
Experiences
1
Pros
6
Cons
2
Top
Pro
•••
Currying model
The library provides curried functions -- they're like regular functions when the argument list is complete. However, if there are arguments missing, the result is another function that expects the remaining ones. This defers the actual call until all data is available, and allows partial contextualization across sections of code. Ramda also offers a mechanism to turn regular functions into curried versions.
See More
Top
Con
•••
Steep learning curve
Ramba is a more mathematically pure functional library which relies heavily on immutables so its learning curve is steeper than other options.
See More
FerventSarakka's Experience
Strictly functional programming, has almost all if not all simple pure functions to compose and build more complex functions with flexible abstractions.
See More
Top
Pro
•••
Extensive feature set
Among other things, Ramda includes rich array and record manipulation, function composition and lifting into Array Applicative similes, lensing, expression-yielding flow control substitutes.
See More
Top
Con
•••
Not very popular
Since Lodash is the most widely used library of its type, finding developers with deep Ramda experience can be very difficult.
See More
Top
Pro
•••
Functional Programming is friend
The library provides a set of useful function with Functional Programming style, but doesn't bother you with the vague concepts of advanced algebra. It's easy as lodash or underscore.
See More
Top
Pro
•••
Load just what you need
Ramda can be custom-built to use only user-specified functionality sets.
See More
Top
Pro
•••
TypeScript-ready
There are TypeScript definition files available through DefinitelyTyped, typings and npm.
See More
Top
Pro
•••
Active maintainers and community
The library is stable while being maintained as well.
See More
Hide
See All
Get it
here
Recommend
23
--
RxJS
My Rec
ommendation
for
RxJS
My Recommendation for
RxJS
Hide
Get it
here
Recommend
12
--
lodash
My Rec
ommendation
for
lodash
My Recommendation for
lodash
All
2
Pros
2
Top
Pro
•••
Widely used
Lots of devs know this well.
See More
Top
Pro
•••
Is a compatible superset of the features of underscore
lodash fills in a lot of gaps in underscore, including many functions familiar to functional programmers, such as takeWhile and dropWhile, as well as useful utility functions like isPlainObject.
See More
Hide
Get it
here
Recommend
5
2
--
Functools
My Rec
ommendation
for
Functools
My Recommendation for
Functools
All
2
Pros
2
Top
Pro
•••
Asynchronous versions of functions included
Each of the major higher-order functions also has an asynchronous counterpart included.
See More
Top
Pro
•••
Standard higher-order functions
compose, each, filter, map, reduce, as well as a few others.
See More
Hide
Get it
here
Recommend
3
--
mori
My Rec
ommendation
for
mori
My Recommendation for
mori
All
1
Pros
1
Top
Pro
•••
Immutable data structures aid pure functional programming
See More
Hide
Get it
here
Recommend
2
--
Bacon.js
My Rec
ommendation
for
Bacon.js
My Recommendation for
Bacon.js
All
2
Cons
1
Specs
Top
Con
•••
Does not support "General" functional programming
Is for a paradigm known as "Functional Reactive Programming" For example, if you had a list and you want to sum it, you would use something called fold or reduce. Except that in Bacon, you need to generate a new Observable, use result = Observable.fold on it, then watch the result, then insert the list. After which, you would have to ignore all values except the last one.
See More
Specs
Time model:
Discrete
Hide
Get it
here
Recommend
2
1
--
Highland.JS
My Rec
ommendation
for
Highland.JS
My Recommendation for
Highland.JS
All
2
Pros
2
Top
Pro
•••
Author is the same person who created async
See More
Top
Pro
•••
Async code handling
Functional-style code is handled asynchronously.
See More
Hide
Get it
here
Recommend
1
--
Rambda
My Rec
ommendation
for
Rambda
My Recommendation for
Rambda
All
1
Pros
1
Top
Pro
•••
Smaller than Ramda with the most common features
See More
Hide
Get it
here
Recommend
2
--
folktale
My Rec
ommendation
for
folktale
My Recommendation for
folktale
Hide
Get it
here
Recommend
1
--
immutable
My Rec
ommendation
for
immutable
My Recommendation for
immutable
Hide
Get it
here
Recommend
1
--
mout
My Rec
ommendation
for
mout
My Recommendation for
mout
All
2
Pros
2
Top
Pro
•••
Load only the parts you need
See More
Top
Pro
•••
Massive collection of utility functions
See More
Hide
Get it
here
Recommend
1
--
Functional
My Rec
ommendation
for
Functional
My Recommendation for
Functional
All
1
Pros
1
Top
Pro
•••
Function Strings
Create terse, elegant code with function strings - instead of manually building simple functions like comparators and reduce functions, describe them as simple strings on the fly to create clean, readable code.
See More
Hide
Get it
here
Recommend
2
--
Lazy.js
My Rec
ommendation
for
Lazy.js
My Recommendation for
Lazy.js
Hide
Get it
here
Recommend
1
--
kudojs
My Rec
ommendation
for
kudojs
My Recommendation for
kudojs
Hide
Get it
here
Recommend
1
--
underscore-contrib
My Rec
ommendation
for
underscore-contrib
My Recommendation for
underscore-contrib
Hide
Get it
here
Recommend
--
Underscore.js
My Rec
ommendation
for
Underscore.js
My Recommendation for
Underscore.js
All
2
Pros
2
Top
Pro
•••
Wide variety of useful utility functions
Underscore comes with not just all the usual functional suspects, but all the tools you'll need to go back-and-forth between Object Oriented and Functional paradigms - dynamically create objects from lists and vice-versa, pull data from object fields, bind 'this', partially apply, chain functions, and more.
See More
Top
Pro
•••
Widely used
Underscore's popularity means that it's battle-hardened and ready for production use.
See More
Hide
Get it
here
Recommend
1
1
Don't see your favorite option? Add it.
Built By the Slant team
Find the best product instantly.
4.7 star rating
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now - it's free
One sec!
Are you sure that you want to abandon your hard work?
Delete Work
Continue working
{}
undefined
url next
price drop