Functional Programming Jargon
Jargon from the functional programming world in simple terms!
This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.
General
Arity
Arity
on Wikipedia
Closure
Auto Currying
Favoring Curry
Practical applications of currying using Ramda.
Hey Underscore, You're Doing It Wrong!
Underscore.js claims to be a functional programming library, but is it really?
IO
IO container
in Mostly Adequate Guide
Trampoline
Thunk
Thunk
on Wikipedia
Algebraic Effects
Category
Category Theory for Programmers
by Bartosz Milewski
Semigroupoid
Semigroupoid
in Fantasy Land
Memoization
Memoization
on Wikipedia
Free Monad
Monad Transformer
Bifunctor
Semigroupoid
in Fantasy Land
Contravariant Functor
Semigroupoid
in Fantasy Land
Profunctor
Semigroupoid
in Fantasy Land
Alternative
Semigroupoid
in Fantasy Land
Morphism >Homomorphism
Natural Transformation
Natural transformation
on Wikipedia
Traversable
Semigroupoid
in Fantasy Land
Lens
partial.lenses
Tasty syntax sugar and a lot of powerful features
nanoscope
Fluent-interface
Prism
Optics / Prism
on GitHub
Iso
Isomorphism
on Wikipedia
Optics / Prism
on GitHub
Traversal
partial.lenses
Tasty syntax sugar and a lot of powerful features
Type Signatures
Ramda's type signatures
A practical functional library for JavaScript that is designed specifically for a functional programming style. A style that makes it easy to create functional pipelines and never mutates user data. +TS.
What is Hindley-Milner?
on Stack Overflow
Algebraic data type >Product type
Set theory
on Wikipedia
Either
Semigroupoid
in Fantasy Land
Functional Programming Libraries in JavaScript
mori
A library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript.
Immutable
Immutable Data Collections including Sequence, Range, Repeat, Map, OrderedMap, Set and a sparse Vector.
Immer
Immer is a tiny package for immutable state based on copy-on-write mechanism. +TS.
Ramda's type signatures
A practical functional library for JavaScript that is designed specifically for a functional programming style. A style that makes it easy to create functional pipelines and never mutates user data. +TS.
ramda-adjunct
(label: help-wanted) 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.
ramda-extension
is set of utility point-free functions composed only from Ramda functions.
Folktale
Suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse.
lodash
An instance of Lodash with its methods wrapped to produce immutable, auto-curried, iteratee-first, data-last methods. +TS.
Underscore.js
JavaScript's utility _ belt.
Lazy.js
A utility library with a lazy engine under the hood that strives to do as little work as possible while being as flexible as possible.
Sanctuary
see_no_evil: Refuge from unsafe JavaScript
Crocks
A collection of popular Algebraic Data Types with the main goal to curate and provide not only a common interface between each type, but also all of the helper functions needed to hit the ground running. -TS.
Related lists in Programming Languages
See categoryAwesome Rust
rust-unofficial/awesome-rust
A curated list of Rust code and resources.
Awesome Mac
jaywcjlove/awesome-mac
This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.
Awesome Python
vinta/awesome-python
The definitive list that answers "I want to do X in Python, which tool should I use?"
Awesome C++
fffaraz/awesome-cpp
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
Awesome Go
avelino/awesome-go
A curated list of awesome Go frameworks, libraries and software
Awesome PHP
ziadoz/awesome-php
A curated list of amazingly awesome PHP libraries, resources and shiny things.