Awesome
Contents
Tutorials and Articles
- Thinking in Ramda - Blog series
- Part 1: An Intro to Functional Programming Concepts in JavaScript
- Part 2: An Intro to Functional Programming Concepts in JavaScript
- Part 3: An Intro to Functional Programming Concepts in JavaScript
- Dipping into wu.js: autoCurry
- Haskell in ES6: Part 1
- Haskell in ES6: Part 2
- Haskell in ES6: Project Euler 1-5
- Don’t Be Scared Of Functional Programming
- Short cut fusion
- My favorite functional adaptors
- Functional pipeline
- Partial argument binding with heroin
- Too much curry
- Lodash to Ramda example
- Functional JavaScript interview question
- Configurable function pattern
- Combine promises with Maybe functors
- Test if a function is pure
- Functor + Applicative = Applier
- Point-free programming is not pointless
- Immutable JavaScript example
- Separate work from control flow using functional programming
- OO vs FP console log example
- Essence of functional programming
- Adapted point-free callbacks
- Counting predicates
- Run N promises in parallel
- Too much point-free
- Factorial using promises
- Reduce reigns supreme
- Binding vs partial application
- Passing multiple arguments in promises
- What is the difference between streams and functional reactive programming?
- Remove boilerplate from promise chains
- Use JavaScript functor today
- Heavy lifting
- Deep picking
- Partial application for options object
- Unapply attack
- Return a promise for cleaner API
- Imperative to compose example
- Variable assignment shortcut
- Favoring Curry
- The Philosophy of Ramda
- Ranging Near and Far
- Iffy Literals
- Why Ramda?
- Say "Hello" to Lo-Dash
- Functional JavaScript using Lo-Dash, an underscore.js alternative
- Currying in JavaScript
- Recursion in JavaScript
- How to Speed Up Lo-Dash ×100? Introducing Lazy Evaluation
- ECMAScript 6 and Array Comprehension
- Implicit Function Chaining in Lodash
- Lodash and ECMAScript 2015
- Applicative Programming In JavaScript With lodash.js
- Better Support for Functional Programming in Angular 2
- 16 Months of Functional Programming
- Functional UI and Components as Higher Order Functions
- Functional programming with Ramda
- Functional programming on frontend with React & ClojureScript
- Functional Programming should be your #1 priority for 2015
- Practical Functional Javascript with Ramda
- Streaming Logs with Transducers and Ramda
- The power of Immutability and React
- Tacit Ramda
- Composing Functions in JavaScript
- Partial Application in JavaScript
- Forcing Function Arity in JavaScript
- Wrapping JavaScript Functions
- Partial Application in JavaScript
- Functional JavaScript
- Compiling to lambda-calculus: Turtles all the way down
- Point-free programming style in F#
- Lazy, composable, and modular JavaScript
- Partially Applied Functions In JavaScript
- Neural Networks, Types, and Functional Programming
- Currying in JavaScript
- Why Curry Helps
- Factorial and Fibonacci in Kotlin
- Functional programming with Javascript
- Элементы функциональных языков
- Functional Programming should be your #1 priority for 2015 — OOP cannot save us from the Cloud Monster anymore.
- A practical introduction to functional programming
- Functional programming in R language
- Category Theory in JavaScript (must have)
- Understanding Continuations
- Tasks, microtasks, queues and schedules
- Polyfilling generators
- Fixed-point combinators in JavaScript: Memoizing recursive functions
- Asynchronous programming and continuation-passing style in JavaScript
- By example: Continuation-passing style in JavaScript
- The Y Combinator (Slight Return)
- Leaking Space - Eliminating memory hogs
- Breaking down FRP
- What are some limitations/disadvantages of functional programming?
- Fun with promises in JavaScript
- Getting clever with lambda calculus
- Servant, Type Families, and Type-level Everything A look at advanced GHC features used in Servant
- Haskell-Style Fibonacci in Python
- Polyglot Twitter Bot, Part 1: Node.js
- Polyglot Twitter Bot, Part 2: Node.js + AWS Lambda
- Polyglot Twitter Bot, Part 3: Python 2.7 + AWS Lambda
- Functional programming with Ramda.js
- The Little Idea of Functional Programming
- What is a functor?
- What Is Functional Programming?
- Which Programming Languages Are Functional?
- An Introduction to Functional Programming in JavaScript
- Input and Output
- Function Application and Definition
- Types & Kinds
- Effectful Haskell: Reader, Transformers, Typeclasses
- asynquence: The Promises You Don’t Know Yet (Part 1)
- asynquence: More Than Just Promises (Part 2)
- Going Async With ES6 Generators
- Getting Concurrent With ES6 Generators
- Currying versus partial application (with JavaScript code)
- Flatmap explained
- Applicatives are generalized functors
- Introduction to Category Theory in Scala
- Understanding Transducers
- Understanding Transducers in JavaScript
- Visualizing Concurrency in Go
- Lazy Iterables in JavaScript
- Difference between a Promise and a Task
- Switching from immutable.js to seamless-immutable
- A Gentle Introduction to Functional JavaScript: Part 1
- A Gentle Introduction to Functional JavaScript: Part 2
- A Gentle Introduction to Functional JavaScript: Part 3
- A Gentle Introduction to Functional JavaScript: Part 4
- From mathematics to map-reduce
- Continuations
- Elmish: Functional Programming in Javascript
- Functional Programming for JavaScript People
- Coroutine Event Loops in Javascript
- How Do I Learn Functional Programming In Javascript? - Linkpost
- Debugging Functional
- Why using
_.chain
is a mistake
- More points for lazy evaluation
- Trampolines in JavaScript
- Where combinator names come from
- Category Theory for Promises/A+
- Everything Reduced: Transducers in Javascript
- Javascript Transducers 2: Stateful & Gateful
- Creating an ES6ish Compose in Javascript
- More Functional Javascript: Reducing Promises, Ramda.js, & Arrow functions again
- Functional Programming is for Dummies
- Functional Programming Principles in Scala
- Introduction to Immutable.js and Functional Programming Concepts
- Functional Programming in JavaScript - The Functional Paradigm in a Familiar Language
- Using Lodash as a Collection of Micro-Libraries
- See How Easily You Can Create a Promise
- Achieving point-free JavaScript with R.converge / _.over
- Introduction to Functional JavaScript
- Functions
- Higher Order Functions
- Recursion
- 3. More Functional Swift
- 2. Functional Swift
- Swift closures and functions
- Debouncing and Throttling Explained Through Examples
- Foldable and Traversable
- How do Promises Work?
- Javascript generators and functional reactive programming\
- No promises: asynchronous JavaScript with only generators
- Functional Mixins in ECMAScript 2015
- CSP and transducers in JavaScript
- ES6 generators in depth
- Functional Programming for JavaScript People
- The allure of Scala.js
- Swift Guide to Map Filter Reduce
- 6 Reasons Why You Should Write Functional Code
- The Perfect API
- (Basic) Lazy Evaluation and Memoization in JavaScript
- Divide and Conquer with Algebraic Structures
- Async and await
- Applicative functors: definition and syntax
- Proofs of functor laws in Haskell
- The functor design pattern
- A 𝝺-CALCULUS INTERPRETER - in less than 200 lines of JavaScript
- Tree traversal in CoffeeScript
- Monoidal Contravariant Functors are actually useful!
- Infinite collections with ES6 generators
- Improving your functional CoffeeScript and JavaScript
- Comparing Javascript generators vs Clojurescript lazy-seq by solving a Fibonnaci problem
- Grasping Haskell: functors, applicatives and monads (part 1)
- Grasping Haskell: functors, applicatives and monads (part 2)
- Functor, Foldable, and Traversable Over Binary Tree
- Functional Components with React stateless functions and Ramda
- Support for deriving Functor, Foldable, and Traversable instances
- Fold (higher-order function)
- Making a Haskell (Scotty) web app and putting it on Heroku
- Promises + FP = Beautiful Streams
- Composability: from Callbacks to Categories in ES6
- Understanding F-Algebras
- Fold
- Why Functional Programming Matters
- Smarter validation
- The Algebra of Algebraic Data Types, Part 1
- The Algebra of Algebraic Data Types, Part 2
- The Algebra of Algebraic Data Types, Part 3
- Async in Purescript is fun and easy
- Design Patterns in Haskell
- So You Want to be a Functional Programmer Series by Charles Scalfani
- Haskell Progressive Example - An OpenGL 3D extension of the Mandelbrot set
- Folds and Infinite Lists
- list-transformer - A beginner-friendly ListT
- Sharing, Space Leaks, and Conduit and friends
- Functors are Containers
- Tuples in JavaScript
- Making juice with reduce/foldl
- Getting audio from Youtube channels in the easiest way possible using Haskell
- From Callback to Future -> Functor -> Monad
- Slaying a UI Antipattern in Fantasyland
- Form Validation As A Higher Order Component Pt.1
- Form Validation As A Higher Order Component Pt.2
- Using JavaScript to Learn Haskell
- FFI with Haskell and Rust
- A Taste of Haskell
- BEAUTIFUL FOLDS IN SCALA
- Functional Programming In JS — With Practical Examples (Part 1)
- Immutable.js: The True Joy of JavaScript
- Mutual Recursion in Final Encoding
- Semigroups
- Using F# on both the frontend and the backend
- Stack safe Function composition
- Applicative functors: definition and syntax
- The versatility of Array methods
- Functional Programming in JavaScript
- Abstracting Computations with Type Classes
- Monads: Your App as a Function, Part 1
- Monads: Your App as a Function, Part 2
- The Marvels of Monads
- A Fistful of Monads
- Category Theory via C# (22) More Monad: Continuation Monad
- The Mother of all Monads
- Understanding Monads With JavaScript
- Promises are the monad of asynchronous programming
- A Monad in Practicality: First-Class Failures
- A Monad in Practicality: Controlling Time
- Monads in JavaScript
- Mindfuck: The Reverse State Monad
- Comonads, Monoids and Trees (awesome article)
- The Delimited Continuation Monad in Javascript
- Free Monads Are Simple
- Effectful Haskell: IO, Monads, Functors
- Functors, Applicative Functors, and Monads aren't that scary
- Functors, Monads, Applicatives – can be so simple
- Practical Intro to Monads in JavaScript
- The Indexed State Monad in Haskell, Scala, and C#
- Who in Their Right Mind Would Use Monads in Clojure?
- Let’s Make a Monad
- Let’s Put jQuery in a Monad
- Monads in C++
- Monads in plain JavaScript
- Practical Intro to Monads in JavaScript: Either
- Practical Intro to Monads in JavaScript: Validation
- Practical Intro to Monads in JavaScript
- Monads, promises, arrays in Javascript
- Monad syntax for JavaScript
- Translation from Haskell to JavaScript of selected portions of the best introduction to monads I’ve ever read
- Monads
- A Gentle Intro to Monads … Maybe?
- Monads - function composition on steroids
- Rx for Haskell - My First Monad
- Monads for Dummies
- Week 3 - Introduction to Monads in JavaScript
- Монады в Javascript
- Аналоги монад Haskell
- Functors, Applicatives, and Monads in Plain English
- what does “lifting” mean?
- Free and Freer Monads: Putting Monads Back into Closet
- Akh - Monad Transformers for Javascript
- Decision Trees Are Free Monads Over the Reader Functor
- Собираемся с духом и перестаем бояться монад
- Утилиты работы с монадами
- Ru/IO Inside
- Foldable.mapM_, Maybe, and recursive functions
- Of Algebirds, Monoids, Monads, and Other Bestiary for Large-Scale Data Analytics
- Comonads as Spaces
- MonadFix
- Monads - Array, Promise and Maybe monads. Plus Docker is a functor
- The Marvellously Mysterious JavaScript Maybe Monad
- The midnight Monad, a journey to enlightenment
- Monads in Haskell: ((->) r)
- Monoids, Functors, Applicatives, and Monads: 10 Main Ideas
- Kleisli Functors
- The Dead Simple, No Chit Chat, Zero-Analogy Haskell Monad Tutorial
- Monads Demystified
- Understanding Monads
- Functors, Applicatives, And Monads In Pictures
- Monads as Practical Functionality Providers
Awesome
- 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
- Awesome Clojure - A curated list of awesome Clojure libraries and resources
Books
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
- functionalcs.github.io
- Haskell MOOC
- A Functional Introduction To Computer Science (Part I)
- A Functional Introduction To Computer Science (Part II)
Combinators
Presentations
Videos
Youtube channels
Libraries
- 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
- QIO - Purely functional effect management library for Typescript.
Languages
- Lean - Lean is a functional programming language that makes it easy to write correct and maintainable code.
- Pyret - A programming language designed to serve as an outstanding choice for programming education while exploring the confluence of scripting and functional programming
- Ela - A dynamic functional language
- Eta - A powerful language for building scalable systems on the JVM
- Koka - 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