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
Last synced: 3 days ago
JSON representation
-
Libraries
-
- Folktale - 2020. -TS.
- lodash/fp - curried, iteratee-first, data-last methods. +TS.
- prelude.ls - TS.
- fp-dom
- Creed - minded async with advanced features: coroutines, promises, ES2015 iterables, fantasy-land. -TS.
- remeda - friendly. +TS.
- prelude.ls - TS.
- Folktale - 2020. -TS.
- prelude.ls - TS.
- claire - based testing library for clearly specifying code invariants and behaviour.
- Javascript Parser Combinator
- effect-ts - fledged functional effect system for typescript with a rich standard library. +TS
- fp-multik - JS/TS lightweight value-multimethod util
- 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
- fp-multik - JS/TS lightweight value-multimethod util
-
Data Structures
- Immutable.js
- Immer - on-write mechanism. +TS.
- Immutable.js
- Immer - on-write mechanism. +TS.
- prelude.ts - Immutable persistent collections, functional constructs such as Option and Either, and combinators. Implemented in Typescript but supports javascript too. +CT, +TS.
-
Algebraic Data Types
- 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.
- Static Land
- daggy
- Sanctuary
- monet.js
- Fluture
- 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
-
-
Functional Languages that Compile to JavaScript
-
Lenses
- 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
- 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
- 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.
- LiveScript
- 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
- ElixirScript - lang.org/), a dynamic, functional language designed for building scalable and maintainable applications, to JavaScript.
- Reason
- LiveScript
- Gleam - Gleam is a typed, functional language that compiles to Erlang and JavaScript.
-
-
Resources
-
Books
- 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
- Eloquent JavaScript
- Functional JavaScript
- Functional-Light JavaScript
-
Articles
- 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.
- 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
- 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.
- 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.
- Favoring Curry - Practical applications of currying using Ramda.
- Why Ramda
- A Monad in Practicality: First-Class Failures
- 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 Principles in Javascript - Practical code examples to learn functional programming concepts like pure function, immutability, first-class entities, and higher order functions
- Functional programming with JavaScript
-
Videos
- 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.
- 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.
-
Examples and Exercises
- 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_)
- Learn Rx
- Holdem Evaluator - Yet another Holdem Evaluator with Ramda functional style
-
-
Community
-
Related Lists
- lucasviola/Awesome Functional Programming
- tk-learning-center/Functional Programming Learning Path - A Learning Path for Functional Programming
-
Talk
-
Programming Languages
Categories
Sub Categories