Awesome FP JS Awesome

This is a curated list of awesome functional programming code and learning resources for JavaScript. As a multi-paradigm programming language, JavaScript can be written in many styles. With these resources we want to help you to make better use of JavaScript’s support for writing programs in a functional way.

Functional programming is a style of programming which models computations as the evaluation of expressions. Contrast this with imperative programming where programs are composed of statements which change global state when executed. Functional programming typically avoids using mutable state and favors side-effect free functions and immutable data instead. This encourages writing composable and declarative programs that are easy to reason about.

Table of Contents
Tags

These may be appended to entries. Each should be preceded by a "+" or "-" to indicate presence or absence of the tag's meaning. "-" tags should only be included when they are likely to help someone filter libraries for their needs. For instance, -TS tags are probably useful for Typescript users screening for types, but -CT tags would be less likely to be helpful to anyone.

Libraries

Data Structures

Write performant functional code by using the right data structures for the task.

Algebraic Data Types

Use the laws of math instead of always reinventing your own thing. Algebraic!

Lenses

Functional Languages that Compile to JavaScript

Programming Tools

Resources

Books

Articles

Videos

Examples and Exercises

Community

Related Lists

Talk

Contribution

:star: Suggestions and PRs are welcome! :star:

Please read the contribution guidelines to get started.

License

CC0

To the extent possible under law, Christoph Hermann has waived all copyright and related or neighboring rights to this work.