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.
Thank you stoeffel & contributors
View Topic on GitHub:
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.
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.
Faster and smaller alternative to Ramda
Extended version of Rambda
A modern JS utility library
tiny (2.7kb) functional programming library using native es5/6 operations
A practical functional programming library for promises
Functional tools that couldn’t be simpler.
A simple function to curry a function with an arbitrary number of arguments.
Currying made simple.
[DEFUNCT] trifling functional views
Functional programming date manipulation library
Make native methods available as partially applied functions.
[Unmaintained: please use jsverify instead] A property-based testing library for clearly specifying code invariants and behaviour.
Abstraction for managing asynchronous code in JS
Ultra-high performance reactive programming
☯ The simplest signal library possible
pico sized functional library
TypeScript Grid Computing Framework supporting RFC (Remote Function Call)
The iterable toolbox
F(unctional) util(ities). Resistance is futile.
[a]synchronous functional programming
Powerful pipes for TypeScript, that chain Promise and ADT for you 🚌 -> ⛰️ -> 🚠 -> 🏂 -> 🚀
Curry All Code
A functionally oriented utility library somewhat based off of Haskell's Prelude module. -TS.
Sophisticated and functionally-minded async with advanced features: coroutines, promises, ES2015 iterables, fantasy-land. -TS.
Create the next immutable state by mutating the current one
Like Underscore, but lazier
😴 Functional programming with lazy immutable iterables
🐆 An immutable list with unmatched performance and a comprehensive functional API.
TypeScript-STL (Standard Template Library, migrated from C++)
Algebraic Data Types
fantasyland extensions for immutablejs
Library for creating tagged constructors.
Free monad Collection
Fantasy Land compliant (monadic) alternative to Promises
port of the haskell package Data.Aviary.Birds. Every thing for your combinatory needs.
A collection of well known Algebraic Data Types for your utter enjoyment.
Functional programming library for TypeScript - https://gigobyte.github.io/purify/
MojiScript is an async-first, opinionated, and functional library
🥃 Functional Algebraic Data Types
🔧 Tifi solves a problem of the existence of both
null. Inspired by the OCaml/Reason utilities for various data types.
Composable kmett style lenses
Profunctor implementation of Lenses, Prisms, Traversals, Isos, etc.
Lens library built on ramda
Composable, immutable getters and setters.
Clojure to JS compiler
A multi-paradigm programming language with gradual and duck typing that targets PHP and JS
יון no BS JS (under heavy dev)
A type-safe functional programming language for declaratively creating web browser-based graphical user interfaces. Implemented in Haskell.
A general purpose pure functional programming language with dependent types.
Reason is a new interface to OCaml, a highly expressive dialect of the ML language featuring type inference and static type checking.
ESLint rules for functional programming
Monadic Assertions library
Runtime type checking for JS with Hindley Milner signatures
A fool's scriptum on functional programming
the “Six” edition. Starts with as little as possible about functions – but no less! – and builds up towards powerful combinators and decorators. A foundational book. By Reginald Braithwaite (2016)
Jargon from the functional programming world in simple terms!
Avoid The One-off Problem, Infinite Loops, Statefulness and Hidden intent.
A short overview of how to write reusable and declarative code using currying.
A beginner-friendly introduction to Algebraic Data Types.
To those not used to functional programming, Ramda seems to serve no purpose whatsoever. However, it does offer a different style of coding, a style that’s taken for granted in purely functional programming languages: Ramda makes it simple for you to build complex logic through functional composition.
Maybe monad to handle simple failure cases and model more complex scenarios with the
Either monad or the
Validation applicative functor.
A simple introduction by @ericelliott to functional principles and vocabulary.
Practical code examples to learn functional programming concepts like pure function, immutability, first-class entities, and higher order functions
Underscore.js claims to be a functional programming library, but is it really?
Learn about practical use cases for functors, applicatives, and monads.
Christian Johansen will show you how you can significantly up your game by leaving loops behind and embracing functions as the primary unit of abstraction.
Examples and Exercises
Learning the functional paradigm with js
A functional frontend framework.
A puzzle game inspired by functional programming
YouTube search app with ReactJS, Redux, and FP concepts
Dozens of exercises with solutions and explanations.
A curated list of awesome functional reactive programming stuff in js
A curated list of functional programming resources such as blog posts, communities, discussion topics, wikis and more.
Yet another resource for collecting articles, videos etc. regarding functional programming
A Learning Path for Functional Programming