Awesome Functional Programming 
Contents
- Tutorials and Articles
 - Awesome
 - Books
 - Resources
 - Presentations
 - Videos
 - Youtube channels
 - Libraries
 - Languages
 
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 
_.chainis 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
 
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)
 
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
 
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
 
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
 - 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
- Awesome Haskell - A curated list of awesome Haskell frameworks, libraries and software
 - Awesome Elm - A curated list of useful Elm tutorials, libraries and software. Inspired by awesome list
 - Awesome F# - A curated list of awesome F# frameworks, libraries, software and resources
 - Awesome Scala - A community driven list of useful Scala libraries, frameworks and software
 - Awesome Haskell - A collection of awesome Haskell links, frameworks, libraries and software. Inspired by awesome projects line
 - Awesome PureScript - A curation of awesome PureScript libraries, resources and shiny things
 - Awesome Functional Python - A curated list of awesome things related to functional programming in Python
 - Awesome Coq - A curated list of awesome Coq frameworks, libraries and software
 - Awesome Elixir - A curated list of amazingly awesome Elixir and Erlang libraries, resources and shiny things
 
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)
 - Mostly adequate guide to FP (in javascript) - russian version
 - Functional JavaScript
 - Functional Javascript Workshop (console based tutorial)
 - 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
 - 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
 
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
 - 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
 - Visual programming meets Haskell
 - 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
 - Community driven Elm guide for JS people
 - An overview of Elm syntax and features
 - 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
 - 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
 - gist of functional utils which written on ES6
 - Answers to the exercises from https://github.com/MostlyAdequate/mostly-adequate-guide
 - Introduction to Functional Programming (course from edx.org)
 - functional-programming-jargon - Jargon from the functional programming world in simple terms
 - Category theory jargon cheat sheet
 - js-funcional - A Cookbook for writing FP in JavaScript using ES6
 - functional-frontend-architecture - A functional frontend framework.
 - A book series on JavaScript
 - FP101x - Functional Programming MOOC 2015 Content Repository
 - Functional Programming in Javascript (Online tutorial)
 - A list of functional javascript resources
 - Contravariance is the Dual of Covariance
 - Functional Programming concepts, examples and patterns illustrated in Haskell, Ocaml and Python
 - A puzzle game written on purescript
 - Total functional programming (ESFP)
 - Code, exercises, answers, and hints to go along with the book "Functional Programming in Scala"
 - 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
 - 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
 - Functional Programming in Javascript (online exercises)
 - Category Theory for Programmers: The Preface
 - Building a modern functional compiler from first principles
 - Archive the best resources surrounding the functional programming paradigm for Javascript developers
 - 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
 - Awesome Haskell
 - Введение в функциональное программирование на скале
 - Monoidal Contravariant Functors and Transducers
 - Functional Programming Resources In JavaScript
 - Unofficial a documentation of lodash-fp
 - Collection of examples on places where Elm is different to Haskell
 - Kickstart your web development with Elm
 - Explorations in Functional Land
 - Coeffects: Context-aware programming languages
 - Formalization of the Dependent Object Types (DOT) calculus
 - Dependent Object Types (DOT)
 - Neon - Experimental PureScript standard library
 - JS-monads-stable
 - Pragmatic functional programming in JavaScript - Workshop material
 - cor - The Language of the Web
 - djinn - Generate Haskell code from a type
 - forwardcourses about functional programming
 - λ List of resources related to Functional Programming in JS
 - Monad tutorials timeline
 - JSON to Elm
 
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
 
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
 
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
 
Youtube channels
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
 - Crocks - A collection of well known Monadic Containers for your utter enjoyment.
 - 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
 - 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 official site
 - trine - A utility library for modern JavaScript
 - lodash-fp - lodash with auto-curried iteratee-first data-last methods
 - alicates - Small library for functional programming with ES2015+
 - creed - Sophisticated and functionally-minded async with advanced features: coroutines, promises, ES2015 iterables, fantasy-land
 - js-csp - Communicating sequential processes for Javascript (like Clojurescript core.async, or Go)
 - transducers-js - A high performance Transducers implementation for JavaScript
 - transducers.js - A small library for generalized transformation of data (inspired by Clojure's transducers)
 - csp - CSP/Actor/Transducer Experiments
 - underarm - Transducers Inspired by Underscore
 - transduce - JavaScript transducers
 - fkit - A functional programming toolkit for JavaScript
 - contra - Asynchronous flow control with a functional taste to it
 - 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
 - async - Async utilities for node and the browser
 - nimble - A really tiny functional JavaScript and async flow-control library
 - udon - Practical functional programming in JavaScript
 - culljs - Functional javascript for adults - no cushions included
 - it.js - Chainable object-oriented functional combinators
 - linq - linq.js - LINQ for JavaScript library
 - Sugar - A Javascript library for working with native objects
 - cat.js - Category Theory for JavaScript
 - f - Implementing native versions of Haskell functions according to JavaScript ES6 standards
 - este - Dev stack and starter kit for functional and universal React web apps
 - Slack - Lazy functional JS library
 - nux - A Push-Based Functional Reactive UI Library for the Web
 - ftoer - A pragmatic library facilitating functional programming in javascript
 - fops - Curried, functional operators
 - nodent - Asynchronous Javascript language extensions
 - funkit - Functional toolkit for javascript
 - funko - Naive minimalistic functional programming library
 - fantasy-lenses - Composable, immutable getters and setters
 - 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
 - redash - Compact library for writing performant functional JavaScript
 - iterablejs - Lazy-loading wrapper for iterable items and common functional programming operations
 - async-csp - CSP style channels using ES7 async/await
 - conjs - a featured fork of mori, with core.async included
 - switch-fn - Write a functional switch statement
 - asyncawait - Callback heaven for Node.js with async/await
 - kneden - Transpile ES7 async/await to vanilla ES6 Promise chains: a Babel plugin
 - asyncbox - A collection of ES7 async/await utilities
 - medium - CSP-style channel library using ES7 async/await keywords
 - prelude - Base functional programming utils for mostjs packages
 - fantasy-birds - port of the haskell package Data.Aviary.Birds. Every thing for your combinatory needs
 - scour - Traverse objects and arrays with ease
 - monad-transformers - Practical monad transformers for JS
 - lazy-either - A lazy implementation of the Fantasy Land Either type
 - parallel-future - Run Futures in parallel
 - futurize - Turn callback-style functions or promises into futures
 - daggy - Library for creating tagged constructors
 - barely-functional - tiny (2.7kb) functional programming library using native es5/6 operations
 - fantasydo - Do-notation for javascript fantasy land
 - linq.ts - LinQ for TypeScript
 - Fluture - A complete Fantasy Land compatible Future library
 - 1-liners - Functional tools that couldn’t be simpler
 - immutable-ext - fantasyland extensions for immutablejs
 - optics - This library is an implementation of profunctor optics using JS, heavily influenced by the PureScript Profunctor Lenses and Kmett's Lens libraries.
 - monady - Composable monads for functional async flow
 - pure-random - A purely functional random number generator
 - kewler - Simple functional and immutable color manipulation library
 - static-land - Specification for common algebraic types in JavaScript based on Fantasy Land
 - Idealist - Functional HTTP micro-framework
 - cali - A JavaScript utility library with a functional programming flavor
 - union-type - A small JavaScript library for defining and using union types
 - fantasy-frees - Free monads
 - ramda-fantasy - Fantasy-Land compatible types for easy integration with Ramda.js
 - fantasy-derivations - Use methods on ADTs whether or not they're defined
 - fantasy-do - Do notation for javascript
 - future-io - A fantasy-land compliant monadic IO library for Node.js.
 - 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
 - doM.js - "do" monad syntax for JavaScript
 - do-notation - Do notation for Fantasy Land monad types
 - burrido - Do-notation for JavaScript
 - monadic - Do-notation and Monads for JavaScript
 - async-ls - Higher order functions, compositions and common operations for asynchronous programming in LiveScript
 - florida - Pure functional accessor factories in js
 - mandolin - Painlessly enhance your JavaScript with monadic types
 - operajonal - Implementation of free monads in JavaScript, based on Haskell's operational package
 - free - Combination of a free applicative functor and free monad
 - freeky - Free monad Collection
 - immutagen - A library for simulating immutable generators in JavaScript
 - gentoo - Tools for ES6 generators
 - TsMonad - Little monad library designed for TypeScript
 - jabz - Powerful and practical abstractions for JavaScript and TypeScript. Functors, Monads, Traversables and all that jazz
 - async-to-gen - Transform async functions to generator functions with speed and simplicity
 - imlazy - Functional, declarative, immutable and lazy as you like
 - partial.lenses - Partial lenses is a comprehensive, high-performance optics library for JavaScript
 - ramda-lens - Lens library built on ramda
 - lenses - Composable kmett style lenses
 - streamjs - Lazy Object Streaming Pipeline for JavaScript
 - chained-promise - Functional programming tools for recurring promises
 - maryamyriameliamurphies.js - A library of Haskell-style morphisms ported to ES2015 JavaScript using Babel
 - asyncp - Port of the async library to use Promises
 - flow-static-land - Implementation of common algebraic types in JavaScript + Flow
 - tiny-tuple - Tiny Tuple library for Client or Server
 - adt.js - Algebraic data types for Javascript
 - fantasy-states - State control structure
 - akh-cont - Akh continuation monad and monad transformer
 - sanctuary-type-classes - Standard library for Fantasy Land
 - ez-dom - Functional library to manipulate the DOM
 - purify - Functional programming library for TypeScript focusing on ADTs
 
Livescript
- prelude.ls - is a functionally oriented utility library
 - monolith-ls - Experimental fork of 
prelude-ls, gives a more functional feel to prelude. 
Java
- TotallyLazy - A complete functional environment for Java
 - Frege - is a Haskell for the JVM. It brings purely functional programing to the Java platform.
 - Vavr - (formerly called Javaslang) object-functional library that runs with Java 8+
 - functionaljava - Functional programming in Java
 - yeti - Functional programming language for JVM
 - Jinq - LINQ-style queries for Java 8
 - linq4j - A port of LINQ (Language-Integrated Query) to Java
 - javaz - Java 8 lambda experiment
 
Clojure/ClojureScript
- cats - Category Theory and Algebraic abstractions for Clojure and ClojureScript
 - jank - A statically typed functional programming language
 - lux - The Lux Programming Language
 
ClojureScript
Scala
- scalaz - An extension to the core Scala library for functional programming
 - cats - Lightweight, modular, and extensible library for functional programming
 - macroid - A modular functional UI language for Android
 - Structures - Functional type classes for Scala
 - rillit - Boilerplate-free Functional Lenses for Scala 2.10
 
Kotlin
- Arrow - Functional programming library, which adds patterns, type classes and more
 - Forge - Functional style JSON parsing written in Kotlin
 - funktional - Kotlin monads
 - funKTionale - Functional constructs for Kotlin
 - kotlinslang - A functional library for Kotlin that provides functional control structures. Inspired by javaslang
 
F#
- FSharpPlus - A complete and extensible base library for F#.
 - FSharpx.Extras - Functional programming and other utilities
 - chiron - Functional JSON library for F#
 - hekate - Purely Functional Graphs for F#
 - freya - Functional-first web stack, including an HTTP finite state machine, built on top of OWIN
 - micron - A minimalistic pure functional programming language
 - Lw - is a general-purpose statically-typed functional language with advanced features.
 - Streams - A lightweight F#/C# library for efficient functional-style pipelines on streams of data
 - Fable - F# to JavaScript Compiler
 - ReactFSharp - Proof of concept demo implementing a React like declarative UI API for F# on top of RX
 - Juniper - FRP (Functional Reactive Programming) for the Arduino and other microcontrollers
 
C#
- language-ext - C# functional language extensions and 'Erlang like' concurrency system
 - functional.net - Library of functions and list extensions for C#
 - FuncSharp - Functional programming in C#
 - monadsharp - A collection of monads for C# that provide some functional programming flavor
 - csharp-probability-monad - A probabilistic programming framework for C#
 - Ramda.NET - Practical functional C# port from Ramda.js
 
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
 - LlamaKit - Collection of must-have functional Swift tools
 - Prelude - Swift µframework of simple functional programming tools
 - Swiftx - Functional data types and functions for any project
 - Concurrent - Functional Concurrency Primitives
 - SINQ - LINQ for Swift - Swift Integrated Query
 - Argo - Functional JSON parsing library for Swift
 - Interstellar - Simple and lightweight Functional Reactive Coding in Swift for the rest of us
 - Funky - Functional programming tools and experiments in Swift
 - 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
 
Python
- fn.py - Functional programming in Python: implementation of missing features to enjoy FP
 - funcy - A fancy and practical functional tools
 - toolz - A functional standard library for Python
 - f - Functional stuff for Python
 - Coconut - Simple, elegant, Pythonic functional programming
 - pyMonet - High abstract library for functional programming. Contains algebraic data structures known from Haskell or Scala
 
PHP
- functional-php - Primitives for functional programming in PHP
 - Non-standard PHP library (NSPL) - Compact functional programming oriented code and more
 - Pinq - PHP Integrated Query, a real LINQ library for PHP
 - YaLinqo - Yet Another LINQ to Objects for PHP
 - ginq - LINQ to Object inspired DSL for PHP
 - pramda - Practical Functional Programming in PHP
 - prelude - Functional library for PHP
 
Rust
Julia
- Lazy.jl - Functional programming for Julia
 - FunctionalCollections.jl - Functional and persistent data structures for Julia
 
Go
- go-linq - .NET LINQ-like query methods for Go
 - The Oden Programming Language - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
 
Haskell
- futhark - A data-parallel functional programming language
 - reflex - Practical Functional Reactive Programming
 - ghcvm - A Haskell to JVM compiler that supports GHC Haskell
 - ivorylang - is an eDSL for safe systems programming. You can think of Ivory as a safer C, embedded in Haskell
 
Elixir
Erlang
OCaml
Racket
Languages
- 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 - A function-oriented language with effect inference
 - Ditto - 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 - 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