Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-fp-js
:sunglasses: A curated list of awesome functional programming stuff in js
https://github.com/stoeffel/awesome-fp-js
- Ramda
- Ramda Adjunct - maintained extension of Ramda.
- Ramda-extension - free functions composed only from Ramda functions.
- Rambda - A faster alternative to Ramda in under 10kB.
- Rambdax - Extended version of Rambda
- Folktale - 2020. -TS.
- lodash/fp - curried, iteratee-first, data-last methods. +TS.
- functional.js - free / tacit programming.
- 101 - TS
- fnuc
- barely-functional - TS.
- bluebird-promisell - A practical functional programming library for promises.
- prelude.ls - TS.
- preludejs - Hardcore Functional Programming for JavaScript. -TS.
- 1-liners - crafted with love and attention. -TS.
- fn-curry
- curry
- compose-function
- functionize - functional libraries functional.
- lambdajs
- fp-dom
- react-on-lambda - Replace JSX in React with functions (currying, compositions and etc).
- trifl
- funcy
- date-fp - fp are pure, autocurried and will not mutate the date objects they are applied to.
- js-joda - driven and clean API based on the ISO8601 calendar.
- \_part\_
- claire - based testing library for clearly specifying code invariants and behaviour.
- FPO.js - argument style methods.
- Javascript Parser Combinator
- fun-task
- most - high performance reactive programming to help you compose asynchronous operations on streams of values and events without many of the hazards of side effects and mutable shared state.
- zen-signals
- funfix
- pico-lambda - Arrays, Strings and things the functional way. A 640b functional library based on native methods. -TS.
- pareto-js - An extremely small, intuitive and fast functional utility library for JavaScript -TS.
- fpEs - A small library provides simple usages of basic FP & pattern-matching/sumtype & MonadIO/Rx & Optional for Javascript. -TS.
- Creed - minded async with advanced features: coroutines, promises, ES2015 iterables, fantasy-land. -TS.
- TGrid - Grid Computing Framework, Network & Thread extension of [TSTL](https://github.com/samchon/tstl), supporting RFC (Remote Function Call). +TS.
- Ferrum - TS.
- fp-ts - Typed functional programming in TypeScript. +CT, +TS.
- iter-tools - a rich toolset for working with iterables, both sync and async. +TS.
- remeda - friendly. +TS.
- futil-js - A collection of functional utilities that could conceivably be part of a library like lodash/fp, but for some reason or other are not.
- rubico - 🏞 [a]synchronous functional syntax
- rocket-pipes - Powerful pipes, that chain Promise and ADT like Maybe or Either from popular FP libraries. +TS
- omg-curry - Comprehensive Curry Library with Operator Curry, Curry from functions, Decurry and Infifnite Curries.
- lfi - A Lazy Functional Iteration Library Supporting Sync, Async, and Concurrent Iteration.
- ts-multimethod - TypeScript multimethods inspired by Clojure multimethods. +TS
- ts-fp-di - Tiny TypeScript functional dependency injection, based on Node.js AsyncLocalStorage. +TS
- effect-ts - fledged functional effect system for typescript with a rich standard library. +TS
- qio - safe, functional, performant, lawful, composable data structure that solves practical problems of effect-full code in node and browser. +TS
- Ditox.js - Powerful dependency injection container for building modular apps. +TS
- RxEffects - Reactive state and effect management with RxJS. +TS
- fxts - Lazy evaluation and concurrency. +TS
- ts-belt - Fast, modern, and practical utility library for FP in TypeScript. (Uses a data-first approach like remeda, but is [faster](https://mobily.github.io/ts-belt/benchmarks/v3.7.0/macbook-air-2020) than remeda, ramda, rambda, and lodash/fp.)
- fp-multik - JS/TS lightweight value-multimethod util
- true-myth - call style
- ts-pattern - The exhaustive Pattern Matching library for TypeScript, with smart type inference. Pattern Matching is a code-branching technique coming from FP languages.
- hyogwa - Natural 🌿 effect system that fits TypeScript; Write codes as you write **plain typescript code**.
- Verticalize - Super lightweight function that looks and behaves like a pipe operator.
- PureEval - A powerful JavaScript functional programming toolset, including utility functions and abstract data structures.
- context-fp - Microscopic functional programming context aka dependency injection. +TS
- Icepick
- Immutable.js
- Immer - on-write mechanism. +TS.
- Mori
- Baobab
- immutable-sequence.js
- Timm
- Lazy.js
- DerivableJS
- imlazy
- collectable - performance immutable data structures for modern JavaScript and TypeScript applications. +TS.
- List - An extremely fast immutable list with a comprehensive functional API. Designed to [seamlessly integrate with Ramda](https://github.com/funkia/list#seamless-ramda-integration).
- prelude.ts - Immutable persistent collections, functional constructs such as Option and Either, and combinators. Implemented in Typescript but supports javascript too. +CT, +TS.
- TSTL - C++ STL (Standard Template Library) is implemented in TypeScript. STL Containers, iterators, algorithms and functors, that following functional programming rule, are provided. +TS.
- Fantasy Land
- Static Land
- immutable-ext - js).
- daggy
- Sanctuary
- monet.js
- union-type
- freeky
- Fluture
- fantasy-combinators
- fantasy-birds
- crocks - TS.
- kudo-js - A small utility library with a set of Algebraic Data Types and Helper functions to help you write code in a functional programming style in Javascript
- purify - Functional programming library for TypeScript focusing on ADTs. +CT, +TS.
- MojiScript - an async-first, opinionated, and functional language designed to have 100% compatibility with JavaScript engines
- Pratica - Small, simple, easy FP data types for pragmatic and productive developers who need to ship reliable code fast. +CT, +TS.
- Tifi - Tifi is a library for functional programming in TypeScript. It solves a problem of the existence of both `undefined` and `null`. Tifi is inspired by the OCaml/Reason utilities for the option data type. +CT, +TS.
- sweet-monads - A collection of popular monads (such as `Either` and `Maybe`) and the lazy iterator.
- lenses
- optics
- ramda-lens
- fantasy-lenses
- nanoscope
- partial.lenses - performance optics library for JavaScript.
- shades - inspired lens-like library for Javascript.
- ClojureScript
- Elm - safe functional programming language for declaratively creating web browser-based graphical user interfaces. Implemented in Haskell.
- Fable - Compiles [F#](http://fsharp.org) to readable JavaScript.
- PureScript
- Idris
- GHCJS
- ElixirScript - lang.org/), a dynamic, functional language designed for building scalable and maintainable applications, to JavaScript.
- Js\_of\_ocaml
- Reason
- ReScript - lang.org/bucklescript-rebranding)) ReScript is a type-safe language that compiles to the highest quality of clean, readable and performant JavaScript code.
- Scala.js - lang.org/) to JavaScript.
- LiveScript
- Quack - A multi-paradigm programming language with gradual and duck typing that targets PHP and JS.
- ion - no BS JS
- RamdaScript - A Lisp that compiles to opinionated JavaScript on top of RamdaJS
- RacketScript
- Koka - oriented programming language that seperates pure values from side-effecting computations with a familiar JavaScript like syntax.
- TypeScript - TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
- Gleam - Gleam is a typed, functional language that compiles to Erlang and JavaScript.
- eslint-plugin-fp - ESLint rules for functional programming
- 4.5 - oriented assertions that are lazy and monadic.
- hm-def
- ftor - A pluggable runtime type checker and functional debugging tool that supports parametric and row polymorphism, implicit rank-2 types and algebraic data types via Scott Encoding.
- Professor Frisby’s Mostly Adequate Guide to Functional Programming - world examples. Strongly recommended. By [Brian Lonsdorf](https://twitter.com/drboolean) (2016)
- Functional-Light JavaScript
- JavaScript Allongé
- Functional Programming in JavaScript - free explanations, this book teaches you how to apply functional programming to real-life development tasks. By Luis Atencio (2016)
- Eloquent JavaScript
- Functional JavaScript
- Grokking Simplicity - world scenarios. By [Eric Normand](https://github.com/ericnormand) (2019)
- scriptum - a no-frills functional programming library and a online course based on it
- FP Concepts in JavaScript
- Functional programming with JavaScript
- A gentle introduction to functional JavaScript - part series introduction functional programming in JavaScript that gets you up to speed what all the hype about functional programming is all about.
- Functors from first principle - explained with JS - Explaining functors concept using JavaScript.
- Why Curry Helps
- Favoring Curry - Practical applications of currying using Ramda.
- Functional Mumbo Jumbo – ADTs - friendly introduction to Algebraic Data Types.
- JavaScript and Type Thinking
- Lazy, composable, and modular JavaScript - of – in conjunction with higher-order functions, function composition, and lazy evaluation, to write cleaner and more modular JavaScript.
- Why Ramda
- Monads in JavaScript
- A Monad in Practicality: First-Class Failures
- Functional programming
- Functional Programming Jargon
- Data Structures in JavaScript
- So You Want to be a Functional Programmer - Easy to understand, with some examples, introduction to Functional Programming in Javascript and Elm.
- Functional Programming for JavaScript People - A complete introduction to functional programming patterns by Chet Corcos with a lot of javascript examples.
- Introduction to Immutable.js and Functional Programming Concepts - Learn about functional data structures and their uses in this overview of Facebook's popular library for JavaScript: Immutable.js.
- Master the JavaScript Interview: What is Functional Programming? - A simple introduction by @ericelliott to functional principles and vocabulary.
- Composing Software - A series of articles on learning functional programming and compositional software techniques in JavaScript ES6+ from the ground up by @ericelliott.
- Anonymous Recursion in JavaScript - Short and easy to understand article about implementing anonymous recursion in JavaScript.
- Functional Composition in Javascript
- Functional Programming Principles in Javascript - Practical code examples to learn functional programming concepts like pure function, immutability, first-class entities, and higher order functions
- Basic Monads in Javascript - Introduction to 2 easy monads in Javascript, Maybe & Either.
- F# for JavaScript Devs - Showcasing the similarities between F# and JavaScript
- A practical guide to writing more functional Javascript - A step by step guide to convert imperative JavaScript to more declarative, functional JavaScript.
- You don't (may not) need loops âžż - Loops are one of the first constructs that junior programmers learn, but they can pose many potential issues in the software development process, and could be avoided in many cases.
- Classroom Coding with Prof. Frisby
- Hey Underscore, You're Doing It Wrong!
- Functional programming patterns for the non-mathematician
- Pure JavaScript
- Functional programming in JavaScript - A series by Mattias Petter Johansson, from the youtube channel FunFunFunction, that is specifically about popularization of functional programming in JavaScript.
- Functional Programming in TypeScript - Discover functional programming with Typescript and create a library like fp-ts alongside Sahand Javid in this beginner-friendly YouTube playlist.
- Anjana Vakil: Learning Functional Programming with JavaScript - JSUnconf 2016 - A simple and understandable introduction of functional proramming in javascript.
- Functional Programming Basics In ES6 - A complete introduction to functional programming in javascript made it easy by ES6.
- JavaScript Programmers Should Learn Algebraic Data Types -- May 2018 -- UtahJS Lehi - Seth House explains how ADTs (Algebraic Data Types) can be useful to JavaScript developers.
- FPJS-Class
- functional-javascript-workshop
- functional-frontend-architecture - type-js + Flyd + Snabbdom
- cube-composer
- FP Youtube Search
- Hardcore Functional Programming in JavaScript - by-step with how to build an example web app using abstract interfaces like Monads, Functors, Monoids and Applicatives. (_commercial_)
- Escape from Callback Mountain - Design & refactoring tips for Promise-based Functional JavaScript. Key benefits include better readability, testability, and reusability. MIT.
- Learn Rx
- Holdem Evaluator - Yet another Holdem Evaluator with Ramda functional style
- Awesome FRP JS
- lucasviola/Awesome Functional Programming
- xgrommx/Awesome Functional Programming
- Functional Programming Resources In JavaScript
- tk-learning-center/Functional Programming Learning Path - A Learning Path for Functional Programming
- Functional Programming Slack channel
- ![CC0
- Christoph Hermann
Programming Languages
Keywords
functional-programming
35
javascript
27
typescript
21
fp
14
monad
10
ramda
9
functional
7
promise
7
fantasy-land
6
async
6
immutable
5
monads
4
utils
4
iterator
4
composition
4
functor
4
algebraic-data-types
4
ts
4
lazy
3
dependency
3
di
3
injection
3
data-structures
3
recursion
3
generator
3
js
3
curry
3
utilities
3
adt
3
extensions
2
concurrent
2
combinators
2
fold
2
f-algebras
2
pointfree
2
nodejs
2
effect-system
2
lodash
2
container
2
react
2
immutability
2
functional-js
2
library
2
option-type
2
result-type
2
reactive-programming
2
typescript-definitions
2
reactive
2
concurrency
2
futures
2