awesome-functional-programming

Functional programming resource hub

A curated collection of resources and articles on functional programming concepts, libraries, and techniques

Yet another resource for collecting articles, videos etc. regarding functional programming

GitHub

3k stars
151 watching
304 forks
last commit: 10 months ago
Linked from 3 awesome lists

awesome-functional-programmingawesome-listawsomef-algebrasfunctional-languagesrecursionrecursion-schemes

Awesome Functional Programming / Tutorials and Articles

Thinking in Ramda - Blog series
Part 1: An Intro to Functional Programming Concepts in JavaScript
Part 2: An Intro to Functional Programming Concepts in JavaScript
Part 3: An Intro to Functional Programming Concepts in JavaScript
Dipping into wu.js: autoCurry
Haskell in ES6: Part 1
Haskell in ES6: Part 2
Haskell in ES6: Project Euler 1-5
Don’t Be Scared Of Functional Programming
Short cut fusion
My favorite functional adaptors
Functional pipeline
Partial argument binding with heroin
Too much curry
Lodash to Ramda example
Functional JavaScript interview question
Configurable function pattern
Combine promises with Maybe functors
Test if a function is pure
Functor + Applicative = Applier
Point-free programming is not pointless
Immutable JavaScript example
Separate work from control flow using functional programming
OO vs FP console log example
Essence of functional programming
Adapted point-free callbacks
Counting predicates
Run N promises in parallel
Too much point-free
Factorial using promises
Reduce reigns supreme
Binding vs partial application
Passing multiple arguments in promises
What is the difference between streams and functional reactive programming?
Remove boilerplate from promise chains
Use JavaScript functor today
Heavy lifting
Deep picking
Partial application for options object
Unapply attack
Return a promise for cleaner API
Imperative to compose example
Variable assignment shortcut
Favoring Curry
The Philosophy of Ramda
Ranging Near and Far
Iffy Literals
Why Ramda?
Say "Hello" to Lo-Dash
Functional JavaScript using Lo-Dash, an underscore.js alternative
Currying in JavaScript
Recursion in JavaScript
How to Speed Up Lo-Dash ×100? Introducing Lazy Evaluation
ECMAScript 6 and Array Comprehension
Implicit Function Chaining in Lodash
Lodash and ECMAScript 2015
Applicative Programming In JavaScript With lodash.js
Better Support for Functional Programming in Angular 2
16 Months of Functional Programming
Functional UI and Components as Higher Order Functions
Functional programming with Ramda
Functional programming on frontend with React & ClojureScript
Functional Programming should be your #1 priority for 2015
Practical Functional Javascript with Ramda
Streaming Logs with Transducers and Ramda
The power of Immutability and React
Tacit Ramda
Composing Functions in JavaScript
Partial Application in JavaScript
Forcing Function Arity in JavaScript
Wrapping JavaScript Functions
Partial Application in JavaScript
Functional JavaScript
Compiling to lambda-calculus: Turtles all the way down
Point-free programming style in F#
Lazy, composable, and modular JavaScript
Partially Applied Functions In JavaScript
Neural Networks, Types, and Functional Programming
Currying in JavaScript
Why Curry Helps
Factorial and Fibonacci in Kotlin
Functional programming with Javascript
Элементы функциональных языков
Functional Programming should be your #1 priority for 2015 — OOP cannot save us from the Cloud Monster anymore.
A practical introduction to functional programming
Functional programming in R language
Category Theory in JavaScript (must have)
Understanding Continuations
Tasks, microtasks, queues and schedules
Polyfilling generators
Fixed-point combinators in JavaScript: Memoizing recursive functions
Asynchronous programming and continuation-passing style in JavaScript
By example: Continuation-passing style in JavaScript
The Y Combinator (Slight Return)
Leaking Space - Eliminating memory hogs
Breaking down FRP
What are some limitations/disadvantages of functional programming?
Fun with promises in JavaScript
Getting clever with lambda calculus
Servant, Type Families, and Type-level Everything A look at advanced GHC features used in Servant
Haskell-Style Fibonacci in Python
Polyglot Twitter Bot, Part 1: Node.js
Polyglot Twitter Bot, Part 2: Node.js + AWS Lambda
Polyglot Twitter Bot, Part 3: Python 2.7 + AWS Lambda
Functional programming with Ramda.js
The Little Idea of Functional Programming
What is a functor?
What Is Functional Programming?
Which Programming Languages Are Functional?
An Introduction to Functional Programming in JavaScript
Input and Output
Function Application and Definition
Types & Kinds
Effectful Haskell: Reader, Transformers, Typeclasses
asynquence: The Promises You Don’t Know Yet (Part 1)
asynquence: More Than Just Promises (Part 2)
Going Async With ES6 Generators
Getting Concurrent With ES6 Generators
Currying versus partial application (with JavaScript code)
Flatmap explained
Applicatives are generalized functors
Introduction to Category Theory in Scala
Understanding Transducers
Understanding Transducers in JavaScript
Visualizing Concurrency in Go
Lazy Iterables in JavaScript
Difference between a Promise and a Task
Switching from immutable.js to seamless-immutable
A Gentle Introduction to Functional JavaScript: Part 1
A Gentle Introduction to Functional JavaScript: Part 2
A Gentle Introduction to Functional JavaScript: Part 3
A Gentle Introduction to Functional JavaScript: Part 4
From mathematics to map-reduce
Continuations
Elmish: Functional Programming in Javascript
Functional Programming for JavaScript People
Coroutine Event Loops in Javascript
How Do I Learn Functional Programming In Javascript? - Linkpost
Debugging Functional
Why using _.chain is a mistake
More points for lazy evaluation
Trampolines in JavaScript
Where combinator names come from
Category Theory for Promises/A+
Everything Reduced: Transducers in Javascript
Javascript Transducers 2: Stateful & Gateful
Creating an ES6ish Compose in Javascript
More Functional Javascript: Reducing Promises, Ramda.js, & Arrow functions again
Functional Programming is for Dummies
Functional Programming Principles in Scala
Introduction to Immutable.js and Functional Programming Concepts
Functional Programming in JavaScript - The Functional Paradigm in a Familiar Language
Using Lodash as a Collection of Micro-Libraries
See How Easily You Can Create a Promise
Achieving point-free JavaScript with R.converge / _.over
Introduction to Functional JavaScript
Functions
Higher Order Functions
Recursion
3. More Functional Swift
2. Functional Swift
Swift closures and functions
Debouncing and Throttling Explained Through Examples
Foldable and Traversable
How do Promises Work?
Javascript generators and functional reactive programming \
No promises: asynchronous JavaScript with only generators
Functional Mixins in ECMAScript 2015
CSP and transducers in JavaScript
ES6 generators in depth
Functional Programming for JavaScript People
The allure of Scala.js
Swift Guide to Map Filter Reduce
6 Reasons Why You Should Write Functional Code
The Perfect API
(Basic) Lazy Evaluation and Memoization in JavaScript
Divide and Conquer with Algebraic Structures
Async and await
Applicative functors: definition and syntax
Proofs of functor laws in Haskell
The functor design pattern
A 𝝺-CALCULUS INTERPRETER - in less than 200 lines of JavaScript
Tree traversal in CoffeeScript
Monoidal Contravariant Functors are actually useful!
Infinite collections with ES6 generators
Improving your functional CoffeeScript and JavaScript
Comparing Javascript generators vs Clojurescript lazy-seq by solving a Fibonnaci problem
Grasping Haskell: functors, applicatives and monads (part 1)
Grasping Haskell: functors, applicatives and monads (part 2)
Functor, Foldable, and Traversable Over Binary Tree
Functional Components with React stateless functions and Ramda
Support for deriving Functor, Foldable, and Traversable instances
Fold (higher-order function)
Making a Haskell (Scotty) web app and putting it on Heroku
Promises + FP = Beautiful Streams
Composability: from Callbacks to Categories in ES6
Understanding F-Algebras
Fold
Why Functional Programming Matters
Smarter validation
The Algebra of Algebraic Data Types, Part 1
The Algebra of Algebraic Data Types, Part 2
The Algebra of Algebraic Data Types, Part 3
Async in Purescript is fun and easy
Design Patterns in Haskell
So You Want to be a Functional Programmer Series by Charles Scalfani
Haskell Progressive Example - An OpenGL 3D extension of the Mandelbrot set
Folds and Infinite Lists
list-transformer - A beginner-friendly ListT
Sharing, Space Leaks, and Conduit and friends
Functors are Containers
Tuples in JavaScript
Making juice with reduce/foldl
Getting audio from Youtube channels in the easiest way possible using Haskell
From Callback to Future -> Functor -> Monad
Slaying a UI Antipattern in Fantasyland
Form Validation As A Higher Order Component Pt.1
Form Validation As A Higher Order Component Pt.2
Using JavaScript to Learn Haskell
FFI with Haskell and Rust
A Taste of Haskell
BEAUTIFUL FOLDS IN SCALA
Functional Programming In JS — With Practical Examples (Part 1)
Immutable.js: The True Joy of JavaScript
Mutual Recursion in Final Encoding
Semigroups
Using F# on both the frontend and the backend
Stack safe Function composition
Applicative functors: definition and syntax
The versatility of Array methods
Functional Programming in JavaScript
Abstracting Computations with Type Classes

Awesome Functional Programming / Tutorials and Articles / Lenses

Lenses In Pictures
Lenses and Virtual DOM Support Open Closed
JavaScript through the Lenses of Functional Programming
How functional programming lenses work
Basic Lensing
Lenses with Immutable.js
Использование линз на реальных примерах
lens over tea #1: lenses 101, traversals 101, and some implementation details
Functional Lenses, How Do They Work
An Introduction Into Lenses In JavaScript Functional Getter/Setter
Pointwise Lenses
Линзы: Real World
Haskell Lenses Notes
Isomorphism lenses
An Intro to Lens With No Theory
Lens you an applicative for great haskell?
I got lenses in my Functors
A Little Lens Starter Tutorial
Introduction to optics: lenses and prisms
Lens Tutorial - Introduction (part 1)
Lens Tutorial - Stab & Traversal (Part 2)

Awesome Functional Programming / Tutorials and Articles / Monads

Monads: Your App as a Function, Part 1
Monads: Your App as a Function, Part 2
The Marvels of Monads
A Fistful of Monads
Category Theory via C# (22) More Monad: Continuation Monad
The Mother of all Monads
Understanding Monads With JavaScript
Promises are the monad of asynchronous programming
A Monad in Practicality: First-Class Failures
A Monad in Practicality: Controlling Time
Monads in JavaScript
Mindfuck: The Reverse State Monad
Comonads, Monoids and Trees (awesome article)
The Delimited Continuation Monad in Javascript
Free Monads Are Simple
Effectful Haskell: IO, Monads, Functors
Functors, Applicative Functors, and Monads aren't that scary
Functors, Monads, Applicatives – can be so simple
Practical Intro to Monads in JavaScript
The Indexed State Monad in Haskell, Scala, and C#
Who in Their Right Mind Would Use Monads in Clojure?
Let’s Make a Monad
Let’s Put jQuery in a Monad
Monads in C++
Monads in plain JavaScript
Practical Intro to Monads in JavaScript: Either
Practical Intro to Monads in JavaScript: Validation
Practical Intro to Monads in JavaScript
Monads, promises, arrays in Javascript
Monad syntax for JavaScript
Translation from Haskell to JavaScript of selected portions of the best introduction to monads I’ve ever read
Monads
A Gentle Intro to Monads … Maybe?
Monads - function composition on steroids
Rx for Haskell - My First Monad
Monads for Dummies
Week 3 - Introduction to Monads in JavaScript
Монады в Javascript
Аналоги монад Haskell
Functors, Applicatives, and Monads in Plain English
what does “lifting” mean?
Free and Freer Monads: Putting Monads Back into Closet
Akh - Monad Transformers for Javascript
Decision Trees Are Free Monads Over the Reader Functor
Собираемся с духом и перестаем бояться монад
Утилиты работы с монадами
Ru/IO Inside
Foldable.mapM_, Maybe, and recursive functions
Of Algebirds, Monoids, Monads, and Other Bestiary for Large-Scale Data Analytics
Comonads as Spaces
MonadFix
Monads - Array, Promise and Maybe monads. Plus Docker is a functor
The Marvellously Mysterious JavaScript Maybe Monad
The midnight Monad, a journey to enlightenment
Monads in Haskell: ((->) r)
Monoids, Functors, Applicatives, and Monads: 10 Main Ideas
Kleisli Functors
The Dead Simple, No Chit Chat, Zero-Analogy Haskell Monad Tutorial
Monads Demystified
Understanding Monads
Functors, Applicatives, And Monads In Pictures
Monads as Practical Functionality Providers

Awesome Functional Programming / Tutorials and Articles / Purescript

Building Apps with PureScript and React
Frontend Functional Programming with PureScript and Elm
Writing PureScript Bindings for a jQuery Plugin
PureScript on Android
Rendering a Tic-Tac-Toe board with purescript-react
Playing Tic-Tac-Toe using purescript-signal
Fighting node callback hell with PureScript
Approximating PI With PureScript
Learn X in Y minutes - Where X=purescript
PureScript for the Haskeller Where to get started in PureScript for the Haskell programmer
Polyglot Twitter Bot, Part 4: PureScript
WebApps with PureScript and RactiveJS
Managing Application State with PureScript & Redux
PureScript with Leaflet Experiments
Purescript will make you purr like a kitten
PureScript + React + Electron
Getting started in PureScript (Part 1)
Getting Started with Purescript for Web Development
PureScript for Front End Developers
A Real-World PureScript FE Build Setup
Making a simple node program with Purescript
PureScript — An Intro for JavaScript Hackers
Parsing complex foreign objects in PureScript
Writing a simple Telegram chat bot in Purescript
Making a Weather Telegram bot in Purescript
Row span with PureScript pux and JavaScript redux
Make the Leap from JavaScript to PureScript

Awesome Functional Programming / Tutorials and Articles / Elm

Building a Live-Validated Signup Form in Elm
Data Structures in Elm
Walkthrough: Introducing Elm to a JS Web App
Static site generation in Elm
Архитектура приложения в Elm
Начало проекта на Elm
Optimistic UI and Reactive Programming with Elm
Understanding Signal.forwardTo
Learning FP the hard way: Experiences on the Elm language
Architecture in Elm
Switching from imperative to functional programming with games in Elm 1,577 2 months ago
How Elm made our work better
Elm for the Frontend, Right Now
Introduction to ML in Elm
Making a scroll table with Elm
A simple introduction to using Elm ports
How I wrote a hybrid Elm/Javascript Node.js application
Getting Started with Elm
Understanding Elm: Signals, Mailboxes, Addresses, and Actions
Using Mailboxes in Elm
Developing Games In Elm - Signals
Signals in Elm
Elm by Example: Soup to Nuts - Part 1
An Opening Example of Elm: building HTML by parsing parameters
Real World Elm - Part 2 - Form Validation
Real World Elm - Part 1
Deconstructing Your First Elm App
Introduction to FRP in Elm
Tasks and Effects in Elm
Elm Native UI: Writing a React Native app in Elm
Learn X in Y minutes - Where X=Elm
A Concise Introduction to Elm
Elm by Example: Soup to Nuts - Part 1
Structured TodoMVC example with Elm
10 reasons why you should give Elm a try
Why Elm is Going to Change the World
Building A React/Redux/Elm Bridge
Elm for the Frontend, Right Now (Updated for Elm 0.18)

Awesome Functional Programming / Awesome

Awesome Haskell - A curated list of awesome Haskell frameworks, libraries and software 414 23 days ago
Awesome Elm - A curated list of useful Elm tutorials, libraries and software. Inspired by awesome list 3,609 5 months ago
Awesome F# - A curated list of awesome F# frameworks, libraries, software and resources 1,218 17 days ago
Awesome Scala - A community driven list of useful Scala libraries, frameworks and software 9,040 2 months ago
Awesome Haskell - A collection of awesome Haskell links, frameworks, libraries and software. Inspired by awesome projects line 3,101 over 1 year ago
Awesome PureScript - A curation of awesome PureScript libraries, resources and shiny things 466 almost 2 years ago
Awesome Functional Python - A curated list of awesome things related to functional programming in Python 2,326 17 days ago
Awesome Coq - A curated list of awesome Coq frameworks, libraries and software 236 3 days ago
Awesome Elixir - A curated list of amazingly awesome Elixir and Erlang libraries, resources and shiny things 12,684 2 months ago
Awesome Clojure - A curated list of awesome Clojure libraries and resources 2,703 6 months ago

Awesome Functional Programming / Books

Functional Reactive Programming
Functional Programming in Java
Functional Programming in C++
Functional Programming in C#
Functional Programming in Kotlin
Functional Concurrency in .NET
Elm in Action
Mostly adequate guide to FP (in javascript) 23,422 2 months ago
Mostly adequate guide to FP (in javascript) - russian version 1,221 over 1 year ago
Functional JavaScript
Functional Javascript Workshop (console based tutorial) 2,054 about 4 years ago
Functional Programming in JavaScript - Dan Mantyla
Functional JavaScript: Introducing Functional Programming with Underscore.js - Michael Fogus
A big list of books about functional programming
PureScript by Example
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire
Lenses in Functional Programming
The Weird World of Bi-Directional Programming
Functional Programming in JavaScript
Excerpt Funtional Programming JavaScript
Elm tutorial book
Purescript Pux
The Neophyte's Guide to Scala
Elm by Example - Grzegorz Balcerek
Learn you a Haskell for great good! (A beginner's guide)
Learning Haskell
Programming with Refinement Types - An Introduction to LiquidHaskell
learning Scalaz
Learn you some Erlang for great good!
О Haskell по-человечески
F# for Fun and Profit eBook
An Introduction to Elm
A book about functional programming in JavaScript 16,640 11 months ago
Learn you an Agda
Learn F#
The Transparent Web
JavaScript Allongé, the "Six" Edition
Parallel Computing: Theory and Practice
Haskell Tutorial and Cookbook
Розплутаний ClojureScript
Get Programming with Haskell
Haskell in Depth
Grokking Simplicity: Taming complex software with functional thinking - Eric Normand
Functional Programming in Scala, Second Edition
Functional Programming in C#, Second Edition
Grokking Functional Programming
Functional Programming in Kotlin
Grokking Simplicity
Functional Programming, Simplified
Clojure for the Brave and True
OCaml Programming: Correct + Efficient + Beautiful

Awesome Functional Programming / Resources

ML Dialects and Haskell: SML, OCaml, F#, Haskell
Haskell for OCaml programmers
Free monads
Functional Programming by Example (***)
Haskell by Example
http://chris-taylor.github.io
FPCasts - Your source for Functional Programing Related Podcasts
Blog Jakub Arnold
Primers
Railway Oriented Programming
Материалы курсов по Clojure, бесплатно и онлайн
24 Days of PureScript
Category Theory for Programmers: The Preface
The official supporting materials repository for LambdaConf 2015 90 over 9 years ago
The Glasgow Haskell Compiler. Simon Marlow and Simon Peyton-Jones
diagrams is a powerful, flexible, declarative domain-specific language for creating vector graphics, using the Haskell programming language.
24 Days of GHC Extensions
https://rosettacode.org/wiki/Category:Haskell
Corecursion
Pointfree.io - convert Haskell code into pointfree Haskell code
Typeclassopedia
Philip Wadler's home page
Javascript Monad Transformers
Functor
http://fprog.ru
Scala Tour
An es6 js maybe monad, using generators
Trying to apply ES6 generators to create monad comprehensions. Unfortunately it looks like this will not work with monads that contain multiple values, such as arrays
Free monad based thread simulation and FRP constructs written in JavaScript
Code Samples Functional Programming in JavaScript, Manning 2016 483 almost 6 years ago
Visual programming meets Haskell 682 over 7 years ago
Luna. Visual and textual functional programming language with a focus on productivity, collaboration and development ergonomics
A curated list of awesome functional programming stuff in js 5,985 9 months ago
Community driven Elm guide for JS people 229 about 5 years ago
An overview of Elm syntax and features 951 over 6 years ago
Conal Elliott blog
Brian Lonsdorf on medium
Elm weekly
Almost all about monads
Notes, Thoughts, & Examples derived from reading Functional Javascript by Michael Fogus
Simple examples to help you understand ES6 1,132 almost 8 years ago
Functorial Blog - A blog about functional programming
http://functionaljavascript.blogspot.com
http://buzzdecafe.github.io
http://blog.codeprototype.com
http://simplectic.com/blog
http://joneshf.github.io
http://www.luisatencio.net
http://bartoszmilewski.com
http://rebcabin.github.io
http://blog.jakubarnold.cz
https://juxt.pro/radar.html - The 2016 JUXT Clojure Technology Radar
http://clojurewerkz.org - A growing collection of open source Clojure libraries
http://www.parsonsmatt.org - Elm, Haskell, Purescript
Lo-Fi Learning - Advanced topics from our blackboard to your screen
FunctionalTalks.org - Brilliant people giving brilliant talks on Functional Programming.
functional-javascript-workshop - a functional javascript workshop. No libraries required (i.e. no underscore), just ES5 2,054 about 4 years ago
gist of functional utils which written on ES6
Answers to the exercises from https://github.com/MostlyAdequate/mostly-adequate-guide 0 about 9 years ago
Introduction to Functional Programming (course from edx.org)
functional-programming-jargon - Jargon from the functional programming world in simple terms 18,609 about 1 year ago
Category theory jargon cheat sheet
js-funcional - A Cookbook for writing FP in JavaScript using ES6 251 about 1 year ago
functional-frontend-architecture - A functional frontend framework. 1,444 over 5 years ago
A book series on JavaScript 179,875 3 months ago
FP101x - Functional Programming MOOC 2015 Content Repository 518 almost 9 years ago
Functional Programming in Javascript (Online tutorial)
A list of functional javascript resources 373 about 2 years ago
Contravariance is the Dual of Covariance
Functional Programming concepts, examples and patterns illustrated in Haskell, Ocaml and Python 2,688 over 5 years ago
A puzzle game written on purescript 2,003 almost 2 years ago
Total functional programming (ESFP) 187 almost 6 years ago
Code, exercises, answers, and hints to go along with the book "Functional Programming in Scala" 5,698 3 months ago
Functional programming (page on wiki of Haskell)
Category Theory Presentation
A Guide to Functional Programming Lingo for JavaScripters
Haskell monads for learning purposes in javascript 12 over 7 years ago
Cheat sheet for Monads in Haskell
Monad
Monad (in computer science)
The Indexed Continuation Monad in Haskell, Scala, and C#
Informatics 1: Functional Programming
Source code for blog post Journey from procedural to reactive JavaScript with stops 332 over 8 years ago
Functional Programming in Javascript (online exercises)
Category Theory for Programmers: The Preface
Building a modern functional compiler from first principles 3,351 almost 4 years ago
Archive the best resources surrounding the functional programming paradigm for Javascript developers 57 about 7 years ago
Ramtuary REPL
Haskell for Maths
Y combinator
A collection about Functional Reactive Programming in Swift
Patterns in Functional Programming
What I Wish I Knew When Learning Haskell
Learn Haskell 7,979 about 1 year ago
Awesome Haskell 3,101 over 1 year ago
Введение в функциональное программирование на скале
Monoidal Contravariant Functors and Transducers
Functional Programming Resources In JavaScript 305 about 4 years ago
Unofficial a documentation of lodash-fp
Collection of examples on places where Elm is different to Haskell 67 almost 8 years ago
Kickstart your web development with Elm 56 almost 9 years ago
Explorations in Functional Land 0 over 7 years ago
Coeffects: Context-aware programming languages
Formalization of the Dependent Object Types (DOT) calculus 62 about 2 years ago
Dependent Object Types (DOT) 154 about 8 years ago
Neon - Experimental PureScript standard library
JS-monads-stable 2 over 4 years ago
Pragmatic functional programming in JavaScript - Workshop material 21 over 8 years ago
cor - The Language of the Web 54 over 7 years ago
djinn - Generate Haskell code from a type 129 about 1 year ago
forwardcourses about functional programming
λ List of resources related to Functional Programming in JS 16 over 6 years ago
Monad tutorials timeline
JSON to Elm
functionalcs.github.io
Haskell MOOC
A Functional Introduction To Computer Science (Part I)
A Functional Introduction To Computer Science (Part II)

Awesome Functional Programming / Resources / Combinators

To Dissect a Mockingbird: A Graphical Notation for the Lambda Calculus with Animated Reduction
Combinator Birds
Deriving the Y Combinator in 7 Easy Steps
B, C, K, W system
Комбинаторы — это просто!
Комбинаторная логика как формальная система
combinators-js
SKI combinator calculus
Combinators
Fixed-point combinator
Combinatory logic
Collected Lambda Calculus Functions
Combinatory Logic (*)
Combinatory Logic: Finding and Evaluating Combinators
Maths - Combinatory Logic
Lambda Calculus
From Lambda calculus to Combinator Calculus
The SKI Combinator Calculus a universal formal system
Lambda Calculus
Combinatory logic
The Y Combinator (no, not that one). A crash-course on lambda calculus
The Quantum Electrodynamics of Functional JavaScript
Applicative Functor / SKI combinator calculus

Awesome Functional Programming / Presentations

Awesomely descriptive JavaScript with monads
Functional Programming from Brian Lonsdorf (awesome presentation)
Functional Programming Patterns (must have)
Domain Modeling in a Functional World
Functional Programming in JavaScript
ECMAScript 6 Quiz
Functional Programming from Scott Sauyet
FKit: Everyday Functional Programming in JavaScript
Ramda: Practical Functional Javascript
Category theory, Monads, and Duality in the world of (BIG) Data
Functional Programming in 5 Minutes
Introduction to Functional Programming
Monads
Pragmatic Functional Programming
Intro to Functional Programming
Who's More Functional: Kotlin, Groovy, Scala, or Java?
Introduction to Functional Programming in JavaScript
Category Theory: An Abstraction for Anything
Немного о функциональном программирование в JavaScript
Category theory for beginners
Getting Started with PureScript by Michael Ficarra
Functional Programming Forever
Why Haskell?
PureScript
Анонимные записи в Haskell
Better know a language PureScript
Functional Patterns in JavaScript
Collections libraries in JavaScript
Transducers - Reducing complexity with reducers
Remove the Boilerplate
Functional Programming. Patterns in Scala
Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concurrency, and Big Data
Functional Programming in JavaScript by Luis Atencio
CodeMash: Functional Programming Basics in ES6
Fluent Conf: Rise of Async JavaScript
Монады для барабанщиков
Building Functional Islands by Mark Jones
Reactive UIs with Halogen
Fun* JavaScript Workshop - Dr. Gleb Bahmutov PhD
TYPESAFE SQL IN HASKELL - AN INTRODUCTION TO OPALEYE
Playing with Graphics and Animations in Haskell by Manuel Chakravarty
Practically workshop

Awesome Functional Programming / Videos

Jason Ganetsky on Making a Fast Curry: Push/Enter vs. Eval/Apply for Higher-order Languages
Erik Meijer: Functional Programming
Lambda Days 2015 - Kuba Waliński - Fun with Functional JavaScript
Functional Programming with Kotlin
Category theory for JavaScript programmers
"Everything Old is New Again: Quoted Domain Specific Languages" by Philip Wadler
Classroom Coding with Prof. Frisby
FP-Syd - PureScript: An Overview for Haskellers by Tim Docker (Jul 2015)
Intro to PureScript -- Utah Haskell Meetup
Haskell Programming Tutorial
Monad a day 1: Reader
Monad a day 2: Future
Monad a day 3: State
Lenses Quick n’ Dirty
Frontend Masters Workshop finish up
Professor Frisby Introduces Composable Functional JavaScript
A Million Ways to Fold in JS
Coyoneda in Javascript
Freer Monad (We define Maybe and IO in the freer monad)
Free(er) Monads in JS pt 2 (Defining an interpreter for multiple natural transformations)
What is pure functional programming, and how it can improve our application testing? by Luca Molteni
Start Using Elm to Build Web Applications
How to Create Tetris in Elm
Scott Wlaschin - Railway Oriented Programming — error handling in functional languages
Lambda Jam 2014 - Eric Meijer - The Lost Art of Denotational Semantics
SKI School: The Combinator Calculus Demystified
Erik Meijer - Functional Programming From First Principles
Russian videos about clojure and clojurescript
Parallel and Concurrent Haskell
Functional programming patterns for the non-mathematician (cut)
Brian Beckman: Don't fear the Monad
Brian Beckman: The Zen of Stateless State - The State Monad
Monads and Gonads
Haskell Tutorial
YOW! Lambda Jam 2016 Conor McBride - What are Types for, or are they only Against?
Phil Freeman - Fun with Profunctors
Monads, Monoids and Composition w/ Functional JavaScript
«PureScript livecoding» by Dmirti Bushenko
Learning Functional Programming with JavaScript by Anjana Vakil at JSUnconf 2016
Elm in Purescript
Pure Functional Database Programming with Fixpoint Types—Rob Norris
Functional JS - Lenses - JavaScript
"Point-Free or Die: Tacit Programming in Haskell and Beyond" by Amar Shah
The fuel for the Functional Programming engine Michal Plachta
Functional Programming with TypeScript

Awesome Functional Programming / Youtube channels

Functional Works
Scala World
ruHaskell
Brian Lonsdorf
jasonofthel33t
Лекториум
Scala Russia
Manning Publications
Web Village Voyage

Awesome Functional Programming / Libraries / Javascript

Lodash - A JavaScript utility library delivering consistency, modularity, performance, & extras
Ramda - A practical functional library for Javascript programmers
functional.js - The functional JavaScript library
fantasy-land - Specification for interoperability of common algebraic structures in JavaScript 10,121 12 days ago
Crocks - A collection of well known Monadic Containers for your utter enjoyment. 1,592 almost 2 years ago
wu.js - is a JavaScript library providing higher order functions (such as map, filter, and reduce) for ECMAScript 6 iterators
pointfree-fantasy - Point free wrappers for fantasy land 451 about 7 years ago
folktalejs - Robust, Scalable, DRY. Folktale is a suite of libraries for generic functional programming in JavaScript that allows you to write elegant modular applications with fewer bugs, and more reuse
fn.js - A JavaScript library built to encourage a functional programming style & strategy
bilby.js - is a serious functional programming library
lazy.js - is a functional utility library for JavaScript, similar to Underscore and Lo-Dash, but with an underlying engine that supports many more use cases than those libraries, while offering comparable or superior performance in most scenarios
monet.js - Monadic types library for JavaScript
lamb - A lightweight, and docile, JavaScript (ES5) library to help embracing functional programming
sanctuary - Refuge from unsafe JavaScript 3,040 13 days ago
trine - A utility library for modern JavaScript 1,416 almost 5 years ago
lodash-fp - lodash with auto-curried iteratee-first data-last methods 560 over 8 years ago
alicates - Small library for functional programming with ES2015+ 23 about 9 years ago
creed - Sophisticated and functionally-minded async with advanced features: coroutines, promises, ES2015 iterables, fantasy-land 274 over 6 years ago
js-csp - Communicating sequential processes for Javascript (like Clojurescript core.async, or Go) 2,333 over 2 years ago
transducers-js - A high performance Transducers implementation for JavaScript 1,604 over 1 year ago
transducers.js - A small library for generalized transformation of data (inspired by Clojure's transducers) 1,722 over 7 years ago
csp - CSP/Actor/Transducer Experiments 139 about 10 years ago
underarm - Transducers Inspired by Underscore 87 almost 9 years ago
transduce - JavaScript transducers 92 about 8 years ago
fkit - A functional programming toolkit for JavaScript 586 about 3 years ago
contra - Asynchronous flow control with a functional taste to it 775 8 months ago
neo-async - Neo-Async is thought to be used as a drop-in replacement for Async, it almost fully covers its functionality and runs faster 650 almost 2 years ago
async - Async utilities for node and the browser 28,191 22 days ago
nimble - A really tiny functional JavaScript and async flow-control library 330 about 13 years ago
udon - Practical functional programming in JavaScript 71 about 12 years ago
culljs - Functional javascript for adults - no cushions included 73 almost 8 years ago
it.js - Chainable object-oriented functional combinators 60 about 11 years ago
linq - linq.js - LINQ for JavaScript library 1,685 6 months ago
Sugar - A Javascript library for working with native objects 4,540 5 months ago
cat.js - Category Theory for JavaScript 14 over 8 years ago
f - Implementing native versions of Haskell functions according to JavaScript ES6 standards 286 over 8 years ago
este - Dev stack and starter kit for functional and universal React web apps 5,372 about 5 years ago
Slack - Lazy functional JS library 3 almost 9 years ago
nux - A Push-Based Functional Reactive UI Library for the Web 19 11 months ago
ftoer - A pragmatic library facilitating functional programming in javascript
fops - Curried, functional operators 2 almost 9 years ago
nodent - Asynchronous Javascript language extensions 288 about 4 years ago
funkit - Functional toolkit for javascript 5 over 6 years ago
funko - Naive minimalistic functional programming library 4 almost 8 years ago
fantasy-lenses - Composable, immutable getters and setters 109 almost 9 years ago
chunkify - A functional API to unblock your JavaScript
co-functional - co-functional is a MIT licenced library that provides several functions for use with the co library 10 almost 9 years ago
redash - Compact library for writing performant functional JavaScript 40 almost 7 years ago
iterablejs - Lazy-loading wrapper for iterable items and common functional programming operations 8 over 8 years ago
async-csp - CSP style channels using ES7 async/await 317 about 7 years ago
conjs - a featured fork of mori, with core.async included 29 over 8 years ago
switch-fn - Write a functional switch statement 43 over 7 years ago
asyncawait - Callback heaven for Node.js with async/await 1,908 over 2 years ago
kneden - Transpile ES7 async/await to vanilla ES6 Promise chains: a Babel plugin 515 about 6 years ago
asyncbox - A collection of ES7 async/await utilities 25 5 months ago
medium - CSP-style channel library using ES7 async/await keywords 55 5 months ago
prelude - Base functional programming utils for mostjs packages 19 over 7 years ago
fantasy-birds - port of the haskell package Data.Aviary.Birds. Every thing for your combinatory needs 91 about 8 years ago
scour - Traverse objects and arrays with ease 306 over 4 years ago
monad-transformers - Practical monad transformers for JS 26 almost 8 years ago
lazy-either - A lazy implementation of the Fantasy Land Either type 16 over 7 years ago
parallel-future - Run Futures in parallel 7 over 8 years ago
futurize - Turn callback-style functions or promises into futures 145 over 7 years ago
daggy - Library for creating tagged constructors 701 over 3 years ago
barely-functional - tiny (2.7kb) functional programming library using native es5/6 operations 106 about 7 years ago
fantasydo - Do-notation for javascript fantasy land 64 almost 11 years ago
linq.ts - LinQ for TypeScript 849 4 months ago
Fluture - A complete Fantasy Land compatible Future library 2,484 7 months ago
1-liners - Functional tools that couldn’t be simpler 793 over 1 year ago
immutable-ext - fantasyland extensions for immutablejs 490 almost 6 years ago
optics - This library is an implementation of profunctor optics using JS, heavily influenced by the PureScript Profunctor Lenses and Kmett's Lens libraries. 87 over 8 years ago
monady - Composable monads for functional async flow 11 almost 9 years ago
pure-random - A purely functional random number generator 27 over 8 years ago
kewler - Simple functional and immutable color manipulation library 231 over 7 years ago
static-land - Specification for common algebraic types in JavaScript based on Fantasy Land 772 about 5 years ago
Idealist - Functional HTTP micro-framework 59 over 3 years ago
cali - A JavaScript utility library with a functional programming flavor
union-type - A small JavaScript library for defining and using union types 478 over 5 years ago
fantasy-frees - Free monads 26 almost 9 years ago
ramda-fantasy - Fantasy-Land compatible types for easy integration with Ramda.js 1,505 almost 3 years ago
fantasy-derivations - Use methods on ADTs whether or not they're defined 6 over 8 years ago
fantasy-do - Do notation for javascript 9 over 7 years ago
future-io - A fantasy-land compliant monadic IO library for Node.js. 14 over 7 years ago
List-in-JS - List in JS provides List like List of Haskell. List in JS implements Fantasy Land Specification. List is a Setoid, a Semigroup, a Monoid, a Functor, an Applicative Functor, Foldable, Traversable, a Chain and a Monad 21 about 7 years ago
doM.js - "do" monad syntax for JavaScript 11 almost 11 years ago
do-notation - Do notation for Fantasy Land monad types 13 over 8 years ago
burrido - Do-notation for JavaScript 176 over 7 years ago
monadic - Do-notation and Monads for JavaScript 27 over 2 years ago
async-ls - Higher order functions, compositions and common operations for asynchronous programming in LiveScript 9 over 10 years ago
florida - Pure functional accessor factories in js 1 almost 8 years ago
mandolin - Painlessly enhance your JavaScript with monadic types 14 about 9 years ago
operajonal - Implementation of free monads in JavaScript, based on Haskell's operational package 6 about 5 years ago
free - Combination of a free applicative functor and free monad 58 over 4 years ago
freeky - Free monad Collection 176 over 6 years ago
immutagen - A library for simulating immutable generators in JavaScript 129 over 5 years ago
gentoo - Tools for ES6 generators 17 over 8 years ago
TsMonad - Little monad library designed for TypeScript 391 11 months ago
jabz - Powerful and practical abstractions for JavaScript and TypeScript. Functors, Monads, Traversables and all that jazz 90 over 6 years ago
async-to-gen - Transform async functions to generator functions with speed and simplicity 508 almost 7 years ago
imlazy - Functional, declarative, immutable and lazy as you like 103 22 days ago
partial.lenses - Partial lenses is a comprehensive, high-performance optics library for JavaScript 917 about 3 years ago
ramda-lens - Lens library built on ramda 184 over 7 years ago
lenses - Composable kmett style lenses 214 about 9 years ago
streamjs - Lazy Object Streaming Pipeline for JavaScript 861 over 7 years ago
chained-promise - Functional programming tools for recurring promises 53 almost 7 years ago
maryamyriameliamurphies.js - A library of Haskell-style morphisms ported to ES2015 JavaScript using Babel 181 over 7 years ago
asyncp - Port of the async library to use Promises 29 about 8 years ago
flow-static-land - Implementation of common algebraic types in JavaScript + Flow 408 about 7 years ago
tiny-tuple - Tiny Tuple library for Client or Server 1 over 8 years ago
adt.js - Algebraic data types for Javascript 220 over 10 years ago
fantasy-states - State control structure 17 about 7 years ago
akh-cont - Akh continuation monad and monad transformer 5 over 6 years ago
sanctuary-type-classes - Standard library for Fantasy Land 235 13 days ago
ez-dom - Functional library to manipulate the DOM 4 over 7 years ago
purify - Functional programming library for TypeScript focusing on ADTs 1,532 17 days ago
QIO - Purely functional effect management library for Typescript.

Awesome Functional Programming / Libraries / Livescript

prelude.ls - is a functionally oriented utility library
monolith-ls - Experimental fork of prelude-ls, gives a more functional feel to prelude.

Awesome Functional Programming / Libraries / Java

TotallyLazy - A complete functional environment for Java
Frege - is a Haskell for the JVM. It brings purely functional programing to the Java platform. 3,642 about 2 years ago
Vavr - (formerly called Javaslang) object-functional library that runs with Java 8+
functionaljava - Functional programming in Java 1,604 over 1 year ago
yeti - Functional programming language for JVM 246 8 months ago
Jinq - LINQ-style queries for Java 8 661 10 months ago
linq4j - A port of LINQ (Language-Integrated Query) to Java 372 11 months ago
javaz - Java 8 lambda experiment 15 over 10 years ago

Awesome Functional Programming / Libraries / Clojure/ClojureScript

cats - Category Theory and Algebraic abstractions for Clojure and ClojureScript 941 almost 3 years ago
jank - A statically typed functional programming language 1,685 6 days ago
lux - The Lux Programming Language 1,687 about 1 month ago

Awesome Functional Programming / Libraries / ClojureScript

re-frame - A Reagent Framework For Writing SPAs, in Clojurescript 5,435 about 1 month ago

Awesome Functional Programming / Libraries / Scala

scalaz - An extension to the core Scala library for functional programming 4,668 7 days ago
cats - Lightweight, modular, and extensible library for functional programming 29 about 7 years ago
macroid - A modular functional UI language for Android 527 about 7 years ago
Structures - Functional type classes for Scala 184 over 9 years ago
rillit - Boilerplate-free Functional Lenses for Scala 2.10 89 over 10 years ago

Awesome Functional Programming / Libraries / Kotlin

Arrow - Functional programming library, which adds patterns, type classes and more
Forge - Functional style JSON parsing written in Kotlin 126 almost 3 years ago
funktional - Kotlin monads 10 over 8 years ago
funKTionale - Functional constructs for Kotlin 915 almost 5 years ago
kotlinslang - A functional library for Kotlin that provides functional control structures. Inspired by javaslang 22 almost 8 years ago

Awesome Functional Programming / Libraries / F#

FSharpPlus - A complete and extensible base library for F#. 852 11 days ago
FSharpx.Extras - Functional programming and other utilities 683 19 days ago
chiron - Functional JSON library for F# 174 about 6 years ago
hekate - Purely Functional Graphs for F# 54 about 6 years ago
freya - Functional-first web stack, including an HTTP finite state machine, built on top of OWIN 329 almost 3 years ago
micron - A minimalistic pure functional programming language 2 over 8 years ago
Lw - is a general-purpose statically-typed functional language with advanced features. 8 over 2 years ago
Streams - A lightweight F#/C# library for efficient functional-style pipelines on streams of data 383 over 4 years ago
Fable - F# to JavaScript Compiler 13 about 8 years ago
ReactFSharp - Proof of concept demo implementing a React like declarative UI API for F# on top of RX 0 over 8 years ago
Juniper - FRP (Functional Reactive Programming) for the Arduino and other microcontrollers 79 7 days ago

Awesome Functional Programming / Libraries / C#

language-ext - C# functional language extensions and 'Erlang like' concurrency system 6,533 5 days ago
functional.net - Library of functions and list extensions for C#
FuncSharp - Functional programming in C# 102 3 months ago
monadsharp - A collection of monads for C# that provide some functional programming flavor 1 over 8 years ago
csharp-probability-monad - A probabilistic programming framework for C# 96 about 5 years ago
Ramda.NET - Practical functional C# port from Ramda.js 22 over 6 years ago

Awesome Functional Programming / Libraries / Swift

Swift for Windows - is a free, open source tool that provide runtime environment for swift programming language to compile and run on Windows OS with graphical interface
Dollar.swift - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript
Swiftz - Functional programming in Swift 3,332 over 2 years ago
LlamaKit - Collection of must-have functional Swift tools 621 over 9 years ago
Prelude - Swift µframework of simple functional programming tools 411 over 6 years ago
Swiftx - Functional data types and functions for any project 219 about 5 years ago
Concurrent - Functional Concurrency Primitives 209 about 5 years ago
SINQ - LINQ for Swift - Swift Integrated Query 269 over 5 years ago
Argo - Functional JSON parsing library for Swift 3,489 about 3 years ago
Interstellar - Simple and lightweight Functional Reactive Coding in Swift for the rest of us 1,080 over 5 years ago
Funky - Functional programming tools and experiments in Swift 14 almost 9 years ago
Functional - A functional programming framework for Swift
SwiftSequence - A μframework of extensions for SequenceType in Swift 2.0, inspired by Python's itertools, Haskell's standard library, and other things 375 about 8 years ago

Awesome Functional Programming / Libraries / Python

fn.py - Functional programming in Python: implementation of missing features to enjoy FP 3,351 about 2 years ago
funcy - A fancy and practical functional tools 3,382 3 months ago
toolz - A functional standard library for Python 4,704 22 days ago
f - Functional stuff for Python 119 over 8 years ago
Coconut - Simple, elegant, Pythonic functional programming
pyMonet - High abstract library for functional programming. Contains algebraic data structures known from Haskell or Scala 34 over 4 years ago

Awesome Functional Programming / Libraries / PHP

functional-php - Primitives for functional programming in PHP 1,984 7 months ago
Non-standard PHP library (NSPL) - Compact functional programming oriented code and more 374 over 2 years ago
Pinq - PHP Integrated Query, a real LINQ library for PHP 461 over 2 years ago
YaLinqo - Yet Another LINQ to Objects for PHP 441 10 months ago
ginq - LINQ to Object inspired DSL for PHP 193 over 2 years ago
pramda - Practical Functional Programming in PHP 245 over 6 years ago
prelude - Functional library for PHP 48 over 6 years ago

Awesome Functional Programming / Libraries / Rust

elmesque - An attempt at porting Elm's incredibly useful, purely functional std graphics modules 145 almost 9 years ago

Awesome Functional Programming / Libraries / Julia

Lazy.jl - Functional programming for Julia 470 over 3 years ago
FunctionalCollections.jl - Functional and persistent data structures for Julia 124 over 1 year ago

Awesome Functional Programming / Libraries / Go

go-linq - .NET LINQ-like query methods for Go 3,522 over 2 years ago
The Oden Programming Language - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem

Awesome Functional Programming / Libraries / Haskell

futhark - A data-parallel functional programming language 2,407 8 days ago
reflex - Practical Functional Reactive Programming 1,070 14 days ago
ghcvm - A Haskell to JVM compiler that supports GHC Haskell 2,607 over 2 years ago
ivorylang - is an eDSL for safe systems programming. You can think of Ivory as a safer C, embedded in Haskell

Awesome Functional Programming / Libraries / Erlang

lfe - Lisp Flavoured Erlang (LFE) 2,328 about 2 months ago

Awesome Functional Programming / Libraries / OCaml

bucklescript - A backend for the OCaml compiler which emits JavaScript 6,751 11 days ago

Awesome Functional Programming / Libraries / Racket

hackett - (Very) WIP implementation of a Haskell 98-like Lisp in Racket 1,166 7 months ago

Awesome Functional Programming / Languages

Lean Lean is a functional programming language that makes it easy to write correct and maintainable code
Pyret A programming language designed to serve as an outstanding choice for programming education while exploring the confluence of scripting and functional programming
Ela A dynamic functional language
Eta A powerful language for building scalable systems on the JVM
Koka 3,313 18 days ago A function-oriented language with effect inference
Ditto 173 over 6 years ago A super kawaii dependently typed language for you!
F* (pronounced F star) An ML-like functional programming language aimed at program verification
Idris A general purpose pure functional programming language with dependent types
Agda 2,517 2 days ago A dependently typed functional programming language
Coq A formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems together with an environment for semi-interactive development of machine-checked proofs

Backlinks from these awesome lists:

More related projects: