A curated list of awesome functional programming stuff in js
Inspired by the awesome list thing.
Libraries
- ramda - A practical functional library for Javascript programmers. Favoring Curry
- folktalejs - Folktale is a suite of libraries for generic functional programming.
- lodash-fp - lodash with auto-curried iteratee-first methods.
- Sanctuary - Sanctuary makes it possible to write safe code without null checks.
- 101 - A modern JS utility library
- 1-Liners - A utility library build from 1-liner functions
- bilby.js - Serious functional programming library for JavaScript
- underscore.string.fp - Wrapper for underscore.string with auto-curry
- curry-this - Curry your functions using function bind syntax.
- fn-curry - A simple function to curry a function
- immutable - Immutable persistent data collections
- mori - A simple bridge to ClojureScript's persistent data structures
- functionize - A collection of functions which aids in making non-functional libraries functional.
- fp-js - A collection of functional javascript modules, writing in ES6.
- fp-dom - Making DOM functional ;)!
- fnuc - a functional library for coffeescript (and javascript)
- trifl - trifling functional views
- funcy - An experiment in adding functional pattern matching to JavaScript
- functionaljs - A functional js library that facilitates currying and point-free / tacit programming
- _part_ - Makes native methods available as partially applied functions.
- compose-function - Compose new functions.
- lambdajs - The full ECMAScript API done a functional way.
- date-fp - FP date manipulation library
- barely-functional - tiny (2.7kb) functional programming library using native es5/6 operations
- daggy - Library for creating tagged constructors.
Lenses
- lenses - Composable kmett style lenses
- optics - profunctor optics (Lens, Prism, iso)
- ramda-lens - 🐏 🔎 Lens library built on ramda
- fantasy-lenses - Composable, immutable getters and setters. (profunctor lenses WIP)
- nanoscope - Lenses with dotty support
Books
Functional Languages that Compile to JavaScript
- ClojureScript - compiles Clojure, a hosted LISP with immutable data structures, to JavaScript
- Elm - type-safe functional programming language for declaratively creating web browser-based graphical user interfaces, implemented in Haskell
- Purescript - a small strongly typed programming language that compiles to JavaScript
- ElixirScript
Resources
- Classroom Coding Pt1 - Classroom Coding with Prof. Frisby Pt1
- Classroom Coding Pt2 - Classroom Coding with Prof. Frisby Pt2
- Classroom Coding Pt3 - Classroom Coding with Prof. Frisby Pt3
- Hey Underscore, You're Doing It Wrong! - Underscore.js claims to be a functional programming language, but how true is that?
- functional-javascript-workshop - Teaching fundamental functional programming features of Javascript
- mostly-adequate-guide - Mostly adequate guide to FP (in javascript)
- functional-frontend-architecture - A functional frontend framework. Based on Ramda + union-type-js + Flyd + Snabbdom
- cube-composer - A puzzle game inspired by functional programming.
- Functional Programming Jargon - Jargon from the functional programming world explained in javascript.
- FPJS-Class - Functional Programming learned through JS
- FP Concepts in JavaScript - An Intro to Functional Programming Concepts in JavaScript
Related Lists
Contribution
⭐ Suggestions and PRs are welcome! ⭐
License
To the extent possible under law, Christoph Hermann has waived all copyright and related or neighboring rights to this work.