awesome-functional-programming
Yet another resource for collecting articles, videos etc. regarding functional programming
https://github.com/xgrommx/awesome-functional-programming
Last synced: 4 days ago
JSON representation
-
Libraries
-
[Kotlin](https://github.com/JetBrains/kotlin)
- **Arrow** - Functional programming library, which adds patterns, type classes and more
- **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
-
[C#](https://github.com/dotnet/roslyn)
- **functional.net** - Library of functions and list extensions for C#
- **language-ext** - C# functional language extensions and 'Erlang like' concurrency system
- **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](https://developer.apple.com/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
- **Swiftx** - Functional data types and functions for any project
- **Concurrent** - Functional Concurrency Primitives
- **Argo** - Functional JSON parsing library for Swift
- **Interstellar** - Simple and lightweight Functional Reactive Coding in Swift for the rest of us
- **Functional** - A functional programming framework for Swift
- **Funky** - Functional programming tools and experiments in Swift
- **Prelude** - Swift µframework of simple functional programming tools
- **Dollar.swift** - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript
- **SINQ** - LINQ for Swift - Swift Integrated Query
- **SwiftSequence** - A μframework of extensions for SequenceType in Swift 2.0, inspired by Python's itertools, Haskell's standard library, and other things
-
[Python](https://www.python.org/)
- **Coconut** - Simple, elegant, Pythonic functional programming
- **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
-
[Go](https://github.com/golang/go)
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
- **The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem
-
[Haskell](https://www.haskell.org)
- **ivorylang** - is an eDSL for safe systems programming. You can think of Ivory as a safer C, embedded in Haskell
- **futhark** - A data-parallel functional programming language
- **reflex** - Practical Functional Reactive Programming
- **ivorylang** - is an eDSL for safe systems programming. You can think of Ivory as a safer C, embedded in Haskell
-
[Javascript](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
- **functional.js** - The functional JavaScript library
- **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
- **ftoer** - A pragmatic library facilitating functional programming in javascript
- **cali** - A JavaScript utility library with a functional programming flavor
- **QIO** - Purely functional effect management library for Typescript.
- **QIO** - Purely functional effect management library for Typescript.
- **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
- **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
- **lamb** - A lightweight, and docile, JavaScript (ES5) library to help embracing functional programming
- **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
- **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
- **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
- **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
- **Idealist** - Functional HTTP micro-framework
- **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](https://github.com/gkz/LiveScript)
-
[Java](http://www.oracle.com/technetwork/java/index.html)
- **TotallyLazy** - A complete functional environment for 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](https://github.com/clojure/clojure)/[ClojureScript](https://github.com/clojure/clojurescript)
-
[ClojureScript](https://github.com/clojure/clojurescript)
-
[Scala](https://github.com/scala/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
-
[F#](https://github.com/fsharp/fsharp)
- **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
-
[PHP](https://github.com/php/php-src)
- **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](https://github.com/rust-lang/rust)
-
[Julia](https://github.com/JuliaLang/julia)
-
[OCaml](https://ocaml.org/)
-
[Racket](https://racket-lang.org/)
-
-
Languages
-
[Racket](https://racket-lang.org/)
- Lean - Lean is a functional programming language that makes it easy to write correct and maintainable code.
- Ela - A dynamic functional 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
- Pyret - A programming language designed to serve as an outstanding choice for programming education while exploring the confluence of scripting and functional programming
- 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
- 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
- Agda - A dependently typed functional programming language
-
-
Tutorials and Articles
-
- Fold
- Functional programming on frontend with React & ClojureScript
- 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
- 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
- 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
- The Philosophy of Ramda
- Ranging Near and Far
- Iffy Literals
- Say "Hello" to Lo-Dash
- Functional JavaScript using Lo-Dash, an underscore.js alternative
- Currying in JavaScript
- Recursion in JavaScript
- 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
- A practical introduction to functional programming
- Functional programming in R language
- Category Theory in JavaScript
- Understanding Continuations
- 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: 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 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 Functional Programming Matters
- 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
- 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
- The allure of Scala.js
- 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
- 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
- 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
- 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
- The versatility of Array methods
- Functional Programming in JavaScript
- Functional Programming should be your #1 priority for 2015 — OOP cannot save us from the Cloud Monster anymore.
- Swift Guide to Map Filter Reduce
- Tuples in JavaScript
- Abstracting Computations with Type Classes
- Swift closures and functions
- Partial Application in JavaScript
- How Do I Learn Functional Programming In Javascript? - Linkpost
- How to Speed Up Lo-Dash ×100? Introducing Lazy Evaluation
- Элементы функциональных языков
- asynquence: The Promises You Don’t Know Yet (Part 1)
- Foldable and Traversable
- Functional programming with Javascript
- Immutable.js: The True Joy of JavaScript
- Iffy Literals
- How to Speed Up Lo-Dash ×100? Introducing Lazy Evaluation
- Implicit Function Chaining in Lodash
- Lodash and ECMAScript 2015
- Functional JavaScript
- Functional programming in R language
- What are some limitations/disadvantages of functional programming?
- What Is Functional Programming?
- Which Programming Languages Are Functional?
- Understanding Transducers
- How Do I Learn Functional Programming In Javascript? - Linkpost
- More points for lazy evaluation
- Functional Programming Principles in Scala
- The allure of Scala.js
- The Perfect API
- Proofs of functor laws in Haskell
- Support for deriving Functor, Foldable, and Traversable instances
- 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
- Using F# on both the frontend and the backend
- Functional Programming in JavaScript
- Abstracting Computations with Type Classes
-
[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
- 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
- Использование линз на реальных примерах
- Линзы: Real World
- Lenses and Virtual DOM Support Open Closed
- How functional programming lenses work
-
[Monads](https://en.wikipedia.org/wiki/Monad_(functional_programming))
- 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: Controlling Time
- Monads in JavaScript
- Mindfuck: The Reverse State Monad
- Comonads, Monoids and Trees
- 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?
- 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
- Monads - function composition on steroids
- Rx for Haskell - My First Monad
- Monads for Dummies
- Week 3 - Introduction to Monads in 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
- Let’s Make a Monad
- Let’s Put jQuery in a Monad
- A Gentle Intro to Monads … Maybe?
- Монады в Javascript
- Утилиты работы с монадами
- Monads: Your App as a Function, Part 1
- Category Theory via C# (22) More Monad: Continuation Monad
- The Mother of all Monads
- Understanding Monads With JavaScript
- Comonads, Monoids and Trees
- Functors, Applicative Functors, and Monads aren't that scary
- Who in Their Right Mind Would Use Monads in Clojure?
- Monads in plain JavaScript
- Monads
- Monads - function composition on steroids
- Rx for Haskell - My First Monad
- Functors, Applicatives, and Monads in Plain English
- Decision Trees Are Free Monads Over the Reader Functor
- Собираемся с духом и перестаем бояться монад
- Утилиты работы с монадами
- The midnight Monad, a journey to enlightenment
- Monads as Practical Functionality Providers
-
[Elm](http://elm-lang.org)
- 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
- 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
- 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
- A Concise Introduction to Elm
- 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)
- Learn X in Y minutes - Where X=Elm
- Building a Live-Validated Signup Form in Elm
- Data Structures in Elm
- Static site generation in Elm
- Архитектура приложения в Elm
- Начало проекта на Elm
- Optimistic UI and Reactive Programming with Elm
- Understanding Signal.forwardTo
- Elm for the Frontend, Right Now
- Making a scroll table with Elm
- A simple introduction to using Elm ports
- How I wrote a hybrid Elm/Javascript Node.js application
- Signals in Elm
- Deconstructing Your First Elm App
- Tasks and Effects in Elm
- Elm Native UI: Writing a React Native app in Elm
- Structured TodoMVC example with Elm
- 10 reasons why you should give Elm a try
- Why Elm is Going to Change the World
- Elm for the Frontend, Right Now (Updated for Elm 0.18)
-
[Purescript](http://www.purescript.org)
- 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
- 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
- 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
- Building Apps with PureScript and React
- PureScript — An Intro for JavaScript Hackers
- Frontend Functional Programming with PureScript and Elm
- Approximating PI With PureScript
- PureScript for Front End Developers
- Parsing complex foreign objects in PureScript
- Row span with PureScript pux and JavaScript redux
-
-
Awesome
-
[Elm](http://elm-lang.org)
- Awesome Scala - A community driven list of useful Scala libraries, frameworks and software
- Awesome PureScript - A curation of awesome PureScript libraries, resources and shiny things
- Awesome Elixir - A curated list of amazingly awesome Elixir and Erlang libraries, resources and shiny things
- Awesome Clojure - A curated list of awesome Clojure libraries and resources
- 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 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
-
-
Books
-
[Elm](http://elm-lang.org)
- 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
- Functional JavaScript
- 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
- Elm by Example - Grzegorz Balcerek
- Learn you a Haskell for great good! (A beginner's guide)
- Learning Haskell
- learning Scalaz
- F# for Fun and Profit eBook
- An Introduction to Elm
- Learn you an Agda
- Learn F#
- The Transparent Web
- Parallel Computing: Theory and Practice
- Haskell Tutorial and Cookbook
- Get Programming with Haskell
- Haskell in Depth
- Functional Programming in Scala, Second Edition
- Functional Programming in C#, Second Edition
- Grokking Functional Programming
- Functional Programming, Simplified
- Clojure for the Brave and True
- OCaml Programming: Correct + Efficient + Beautiful
- О Haskell по-человечески
- JavaScript Allongé, the "Six" Edition
- Grokking Simplicity
- Mostly adequate guide to FP (in javascript)
- Mostly adequate guide to FP (in javascript) - russian version
- Functional Javascript Workshop (console based tutorial)
- Functional JavaScript: Introducing Functional Programming with Underscore.js - Michael Fogus
- A big list of books about functional programming
- Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire
- Excerpt Funtional Programming JavaScript
- The Neophyte's Guide to Scala
- Learning Haskell
- Programming with Refinement Types - An Introduction to LiquidHaskell
- learning Scalaz
- An Introduction to Elm
- A book about functional programming in JavaScript
- Learn F#
- The Transparent Web
- Parallel Computing: Theory and Practice
- Розплутаний ClojureScript
-
-
Resources
-
[Elm](http://elm-lang.org)
- Patterns in Functional Programming
- What I Wish I Knew When Learning Haskell
- Monoidal Contravariant Functors and Transducers
- Unofficial a documentation of lodash-fp
- ML Dialects and Haskell: SML, OCaml, F#, Haskell
- Haskell for OCaml programmers
- Free monads
- http://chris-taylor.github.io
- FPCasts - Your source for Functional Programing Related Podcasts
- Primers
- Railway Oriented Programming
- Материалы курсов по Clojure, бесплатно и онлайн
- 24 Days of PureScript
- Category Theory for Programmers: The Preface
- 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
- A curated list of awesome functional programming stuff in js
- Conal Elliott blog
- Brian Lonsdorf on medium
- Almost all about monads
- Notes, Thoughts, & Examples derived from reading Functional Javascript by Michael Fogus
- 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
- 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
- gist of functional utils which written on ES6
- Category theory jargon cheat sheet
- Contravariance is the Dual of Covariance
- Functional programming (page on wiki of Haskell)
- Category Theory Presentation
- A Guide to Functional Programming Lingo for JavaScripters
- Cheat sheet for Monads in Haskell
- Monad
- Monad (in computer science)
- The Indexed Continuation Monad in Haskell, Scala, and C#
- Informatics 1: Functional Programming
- Haskell for Maths
- Y combinator
- A collection about Functional Reactive Programming in Swift
- Coeffects: Context-aware programming languages
- Neon - Experimental PureScript standard library
- forwardcourses about functional programming
- Monad tutorials timeline
- Haskell MOOC
- A Functional Introduction To Computer Science (Part I)
- A Functional Introduction To Computer Science (Part II)
- Введение в функциональное программирование на скале
- Awesome Haskell
- FunctionalTalks.org - Brilliant people giving brilliant talks on Functional Programming.
- ML Dialects and Haskell: SML, OCaml, F#, Haskell
- Haskell for OCaml programmers
- Functional Programming by Example
- Haskell by Example
- Blog Jakub Arnold
- Railway Oriented Programming
- Материалы курсов по Clojure, бесплатно и онлайн
- 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
- Pointfree.io - convert Haskell code into pointfree Haskell code
- 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
- Community driven Elm guide for JS people
- An overview of Elm syntax and features
- Conal Elliott blog
- Simple examples to help you understand ES6
- Functorial Blog - A blog about functional programming
- http://functionaljavascript.blogspot.com
- http://buzzdecafe.github.io
- http://joneshf.github.io
- http://www.luisatencio.net
- http://bartoszmilewski.com
- http://rebcabin.github.io
- 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
- FunctionalTalks.org - Brilliant people giving brilliant talks on Functional Programming.
- Answers to the exercises from https://github.com/MostlyAdequate/mostly-adequate-guide
- functional-programming-jargon - Jargon from the functional programming world in simple terms
- 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"
- Category Theory Presentation
- Haskell monads for learning purposes in javascript
- Cheat sheet for Monads in Haskell
- Informatics 1: Functional Programming
- Source code for blog post Journey from procedural to reactive JavaScript with stops
- 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
- Patterns in Functional Programming
- Learn Haskell
- Введение в функциональное программирование на скале
- Functional Programming Resources In JavaScript
- Collection of examples on places where Elm is different to Haskell
- Kickstart your web development with Elm
- Explorations in Functional Land
- Formalization of the Dependent Object Types (DOT) calculus
- Dependent Object Types (DOT)
- JS-monads-stable
- Pragmatic functional programming in JavaScript - Workshop material
- cor - The Language of the Web
- djinn - Generate Haskell code from a type
- λ List of resources related to Functional Programming in JS
- 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
- Комбинаторы — это просто!
- Комбинаторная логика как формальная система
- To Dissect a Mockingbird: A Graphical Notation for the Lambda Calculus with Animated Reduction
- Combinator Birds
- Deriving the Y Combinator in 7 Easy Steps
- Collected Lambda Calculus Functions
- Combinatory Logic
- From Lambda calculus to Combinator Calculus
- The SKI Combinator Calculus a universal formal system
- The Quantum Electrodynamics of Functional JavaScript
-
-
Presentations
-
Combinators
- Awesomely descriptive JavaScript with monads
- Functional Programming from Brian Lonsdorf (awesome presentation)
- Functional Programming from Scott Sauyet
- FKit: Everyday Functional Programming in JavaScript
- Ramda: Practical Functional Javascript
- Functional Programming in 5 Minutes
- Introduction to Functional Programming
- Monads
- Pragmatic Functional Programming
- Category Theory: An Abstraction for Anything
- Getting Started with PureScript by Michael Ficarra
- Functional Programming Forever
- Why Haskell?
- PureScript
- 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
- CodeMash: Functional Programming Basics in ES6
- 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
- Functional Programming in JavaScript by Luis Atencio
- Intro to Functional Programming
- Немного о функциональном программирование в JavaScript
- Fluent Conf: Rise of Async JavaScript
- Монады для барабанщиков
- Domain Modeling in a Functional World
- Functional Programming Patterns
- Category theory, Monads, and Duality in the world of (BIG) Data
- Who's More Functional: Kotlin, Groovy, Scala, or Java?
- Introduction to Functional Programming in JavaScript
- Анонимные записи в Haskell
- Functional Patterns in JavaScript
- Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concurrency, and Big Data
- Functional Programming Patterns
- Domain Modeling in a Functional World
- Functional Programming in JavaScript
- ECMAScript 6 Quiz
- Functional Programming from Scott Sauyet
- 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
- Functional Programming Forever
- Why Haskell?
- PureScript
- Анонимные записи в Haskell
- Better know a language PureScript
- 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
- Монады для барабанщиков
- Fun* JavaScript Workshop - Dr. Gleb Bahmutov PhD
-
-
Videos
-
Combinators
- Jason Ganetsky on Making a Fast Curry: Push/Enter vs. Eval/Apply for Higher-order Languages
- Erik Meijer: Functional Programming
- 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
- 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
- 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
- Lambda Days 2015 - Kuba Waliński - Fun with Functional JavaScript
- 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
- 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
- Lenses Quick n’ Dirty
- Scott Wlaschin - Railway Oriented Programming — error handling in functional languages
- Pure Functional Database Programming with Fixpoint Types—Rob Norris
- Jason Ganetsky on Making a Fast Curry: Push/Enter vs. Eval/Apply for Higher-order Languages
- Functional Programming with Kotlin
- Category theory for JavaScript programmers
- Haskell Programming Tutorial
- Professor Frisby Introduces Composable Functional JavaScript
- How to Create Tetris in Elm
- Russian videos about clojure and clojurescript
- Parallel and Concurrent Haskell
- «PureScript livecoding» by Dmirti Bushenko
- The fuel for the Functional Programming engine - Michal Plachta
-
-
Youtube channels
Programming Languages
Categories
Sub Categories
[Elm](http://elm-lang.org)
262
Combinators
172
[Javascript](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
113
[Monads](https://en.wikipedia.org/wiki/Monad_(functional_programming))
78
[Purescript](http://www.purescript.org)
31
[Go](https://github.com/golang/go)
26
[Lenses]()
21
[Swift](https://developer.apple.com/swift)
14
[Racket](https://racket-lang.org/)
11
[F#](https://github.com/fsharp/fsharp)
11
[Java](http://www.oracle.com/technetwork/java/index.html)
9
[PHP](https://github.com/php/php-src)
7
[Python](https://www.python.org/)
7
[Kotlin](https://github.com/JetBrains/kotlin)
6
[C#](https://github.com/dotnet/roslyn)
6
[Scala](https://github.com/scala/scala)
5
[Haskell](https://www.haskell.org)
4
[Clojure](https://github.com/clojure/clojure)/[ClojureScript](https://github.com/clojure/clojurescript)
2
[Livescript](https://github.com/gkz/LiveScript)
2
[Julia](https://github.com/JuliaLang/julia)
2
[OCaml](https://ocaml.org/)
1
[Rust](https://github.com/rust-lang/rust)
1
[ClojureScript](https://github.com/clojure/clojurescript)
1
Keywords
functional-programming
23
javascript
18
monad
8
fantasy-land
5
functional
5
haskell
5
python
5
typescript
4
awesome-list
4
async
4
awesome
4
immutable
3
functional-languages
3
functor
3
monoid
3
monads
3
fp
3
tutorial
3
clojure
3
education
3
book
3
linq
3
json
2
kotlin
2
algebraic-data-types
2
optics
2
library
2
scalajs
2
php
2
linq-to-objects
2
programming-language
2
generator
2
training-materials
2
training-providers
2
elm
2
type-theory
2
curry
2
purescript
2
es2015
2
scala
2
compiler
2
native-objects
1
polyfill
1
sugar
1
records
1
codec
1
decode
1
utility-library
1
structural-equality
1
semigroup
1