Skip to content
48

Awesome Functional Programming

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

3.5k stars306 forks863 entriesLast push Jan 16, 2024 (2 years ago)License none

This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.

Tutorials and Articles

Thinking in Ramda - Blog series

Part 1: An Intro to Functional Programming Concepts in JavaScript

An introduction to Functional Programming Concepts in JavaScript. Uses the Ramda library to teach the concepts of composition, pointfree style, and functors through the simplest of examples.

In 2 lists

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

Practical applications of currying using Ramda.

In 3 lists

The Philosophy of Ramda

Ranging Near and Far

Iffy Literals

Why Ramda?

To those not used to functional programming, Ramda seems to serve no purpose whatsoever. However, it does offer a different style of coding, a style that’s taken for granted in purely functional programming languages: Ramda makes it simple for you to build complex logic through functional…

In 2 lists

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

Use four new features of ES6 – iterables, generators, fat arrows, and for-of – in conjunction with higher-order functions, function composition, and lazy evaluation, to write cleaner and more modular JavaScript.

In 2 lists

Partially Applied Functions In JavaScript

Neural Networks, Types, and Functional Programming

Currying in JavaScript

Why Curry Helps

A short overview of how to write reusable and declarative code using currying.

In 2 lists

Factorial and Fibonacci in Kotlin

Functional programming with Javascript

Another introduction to Functional Programming in JavaScript with a focus on three key themes: computation as the application of functions, statelessness, avoiding side effects.

In 2 lists

Элементы функциональных языков

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 four-part series introduction functional programming in JavaScript that gets you up to speed what all the hype about functional programming is all about.

In 2 lists

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

A complete introduction to functional programming patterns by Chet Corcos with a lot of javascript examples.

In 2 lists

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

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)

Like a blanket being folded up, this function iterates a collection and in each step combines the current item with everything that has already been folded.

In 2 lists

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

Bartosz Milewski explains F-algebras and shows how to use them in the context of catamorphisms.

In 2 lists

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

Easy to understand, with some examples, introduction to Functional Programming in Javascript and Elm.

In 2 lists

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

Abstracting Computations with Type Classes

Tutorials and Articles >Lenses

Lenses In Pictures

Lenses and Virtual DOM Support Open Closed

JavaScript through the Lenses of Functional Programming

How functional programming lenses work

Basic Lensing

Lenses with Immutable.js

Использование линз на реальных примерах

lens over tea #1: lenses 101, traversals 101, and some implementation details

Functional Lenses, How Do They Work

An Introduction Into Lenses In JavaScript Functional Getter/Setter

Pointwise Lenses

Линзы: Real World

Haskell Lenses Notes

Isomorphism lenses

An Intro to Lens With No Theory

Lens you an applicative for great haskell?

I got lenses in my Functors

A Little Lens Starter Tutorial

Introduction to optics: lenses and prisms

Lens Tutorial - Introduction (part 1)

Lens Tutorial - Stab & Traversal (Part 2)

Tutorials and Articles >Monads

Monads: Your App as a Function, Part 1

Monads: Your App as a Function, Part 2

The Marvels of Monads

A Fistful of Monads

Category Theory via C# (22) More Monad: Continuation Monad

The Mother of all Monads

Understanding Monads With JavaScript

Promises are the monad of asynchronous programming

A Monad in Practicality: First-Class Failures

A Monad in Practicality: Controlling Time

Monads in JavaScript

An introduction to the Monad design pattern in JavaScript.

In 2 lists

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

Tutorials and Articles >Purescript

Building Apps with PureScript and React

Frontend Functional Programming with PureScript and Elm

Writing PureScript Bindings for a jQuery Plugin

PureScript on Android

Rendering a Tic-Tac-Toe board with purescript-react

Playing Tic-Tac-Toe using purescript-signal

Fighting node callback hell with PureScript

Approximating PI With PureScript

Learn X in Y minutes - Where X=purescript

PureScript for the Haskeller Where to get started in PureScript for the Haskell programmer

In 2 lists

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

Tutorials and Articles >Elm

Building a Live-Validated Signup Form in Elm

Data Structures in Elm

Walkthrough: Introducing Elm to a JS Web App

Static site generation in Elm

Архитектура приложения в Elm

Начало проекта на Elm

Optimistic UI and Reactive Programming with Elm

Understanding Signal.forwardTo

Learning FP the hard way: Experiences on the Elm language

Experiences on the Elm language.

In 2 lists

Architecture in Elm

Switching from imperative to functional programming with games in Elm

Switching from imperative to functional programming with games in Elm.

In 2 lists

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

Series of Elm education tutorials.

In 2 lists

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

Syntax and features overview. The Elm page on learnxinyminutes.com

In 2 lists

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)

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)

This is a book on the functional paradigm in general using the world’s most popular functional programming language: JavaScript. It’s a practical introduction that builds up intuition through real-world examples. Strongly recommended. By Brian Lonsdorf (2016)

In 3 lists

Mostly adequate guide to FP (in javascript) - russian version

Functional JavaScript

Functional Javascript Workshop (console based tutorial)

The goal of this workshop is to create realistic problems that can be solved using terse, vanilla, idiomatic JavaScript to teach fundamental functional programming features of JavaScript.

In 3 lists

Functional Programming in JavaScript - Dan Mantyla

Functional JavaScript: Introducing Functional Programming with Underscore.js - Michael Fogus

A big list of books about functional programming

In 2 lists

PureScript by Example

In 2 lists

Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire

Lenses in Functional Programming

The Weird World of Bi-Directional Programming

Functional Programming in JavaScript

teaches JavaScript developers functional techniques that will improve extensibility, modularity, reusability, testability, and performance. Through concrete examples and jargon-free explanations, this book teaches you how to apply functional programming to real-life development tasks. By Luis…

In 2 lists

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)

by Miran Lipovača

In 4 lists

Learning Haskell

Programming with Refinement Types - An Introduction to LiquidHaskell

learning Scalaz

Learn you some Erlang for great good!

Learn you some Erlang - for great good! A very thorough resource covering everything from beginning Erlang programming to large-scale development and deployment.

In 2 lists

О Haskell по-человечески

F# for Fun and Profit eBook

An Introduction to Elm

A book about functional programming in JavaScript

This book explores the core principles of functional programming (FP) that can be applied to JavaScript. But what makes this book different is that it approaches these principles without all the heavy terminology.

In 6 listsDetails

Learn you an Agda

Learn F#

The Transparent Web

JavaScript Allongé, the "Six" Edition

Parallel Computing: Theory and Practice

Umut A. Acar 2016

In 2 lists

Haskell Tutorial and Cookbook

Розплутаний ClojureScript

Get Programming with Haskell

Haskell in Depth

Explores the important language features and programming skills you’ll need to build production-quality software using Haskell.

In 2 lists

Grokking Simplicity: Taming complex software with functional thinking - Eric Normand

teaches functional programming from first principles. It uses JavaScript for all code examples and it uses real-world scenarios. By Eric Normand (2019)

In 2 lists

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

by Michael R. Clarkson

In 2 lists

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

by Bartosz Milewski

In 3 lists

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…

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…

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…

A curated list of awesome functional programming stuff in js

Functional programming stuff in JavaScript.

In 2 lists

Community driven Elm guide for JS people

An overview of Elm syntax and features

Syntax and features overview.

In 3 lists

Conal Elliott blog

Brian Lonsdorf on medium

Elm weekly

. The wonderful world of the Elm programming language, in your inbox.

In 2 lists

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

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 (console based tutorial)

The goal of this workshop is to create realistic problems that can be solved using terse, vanilla, idiomatic JavaScript to teach fundamental functional programming features of JavaScript.

In 3 lists

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)

Fall 2014 MOOC on edX by DelftX featuring Haskell as the primary language of focus.

In 2 lists

functional-programming-jargon - Jargon from the functional programming world in simple terms

Jargon from the functional programming world explained in JavaScript.

In 3 listsDetails

Category theory jargon cheat sheet

js-funcional - A Cookbook for writing FP in JavaScript using ES6

functional-frontend-architecture - A functional frontend framework.

A functional frontend framework. Based on Ramda + union-type-js + Flyd + Snabbdom

In 2 lists

A book series on JavaScript

Possibly the best book written on modern JavaScript, completely readable online for free, or can be bought to support the author.

In 12 listsDetails

FP101x - Functional Programming MOOC 2015 Content Repository

Functional Programming in Javascript (Online tutorial)

A series of interactive exercises introducing five basic ingredients of functional (reactive) programming: the map, filter, concatAll, reduce, and zip functions.

In 3 lists

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

A puzzle game inspired by functional programming.

In 3 lists

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

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

amazing guide for all kinds of things.

In 2 lists

Learn Haskell

(cc0) - This is a recommended path for learning Haskell based on experience helping others

In 4 lists

Awesome Haskell

In 2 lists

Введение в функциональное программирование на скале

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

Collection of examples on places where Elm is different to Haskell, targeted at Elm beginners coming from Haskell backgrounds.

In 2 lists

Kickstart your web development with Elm

A collection of notes for web developers looking into moving to Elm.

In 2 lists

Explorations in Functional Land

Coeffects: Context-aware programming languages

Context-aware programming languages.

In 2 lists

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

An online course on functional programming with Haskell programming language, and a live interactive Telegram community.

In 3 lists

A Functional Introduction To Computer Science (Part I)

In 2 lists

A Functional Introduction To Computer Science (Part II)

Resources >Combinators

To Dissect a Mockingbird: A Graphical Notation for the Lambda Calculus with Animated Reduction

Combinator Birds

Deriving the Y Combinator in 7 Easy Steps

B, C, K, W system

Комбинаторы — это просто!

Комбинаторная логика как формальная система

combinators-js

SKI combinator calculus

Combinators

Fixed-point combinator

Combinatory logic

Collected Lambda Calculus Functions

Combinatory Logic

(*)

Combinatory Logic: Finding and Evaluating Combinators

Maths - Combinatory Logic

Lambda Calculus

From Lambda calculus to Combinator Calculus

The SKI Combinator Calculus a universal formal system

Lambda Calculus

Combinatory logic

The Y Combinator (no, not that one). A crash-course on lambda calculus

The Quantum Electrodynamics of Functional JavaScript

Applicative Functor / SKI combinator calculus

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

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

A series that builds a “practical” web application with React and functional programming in JavaScript.

In 2 lists

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)

Learn about practical use cases for functors, applicatives, and monads.

In 2 lists

Brian Beckman: Don't fear the Monad

by Dr. Brian Beckman (Channel 9 2012) [1:07:10]

In 2 lists

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

A simple and understandable introduction of functional proramming in javascript.

In 4 lists

Elm in Purescript

Pure Functional Database Programming with Fixpoint Types—Rob Norris

Functional JS - Lenses - JavaScript

"Point-Free or Die: Tacit Programming in Haskell and Beyond" by Amar Shah

The fuel for the Functional Programming engine

Michal Plachta

Functional Programming with TypeScript

Discover functional programming with Typescript and create a library like fp-ts alongside Sahand Javid in this beginner-friendly YouTube playlist.

In 3 lists

Youtube channels

Functional Works

Scala World

ruHaskell

Brian Lonsdorf

jasonofthel33t

Лекториум

Scala Russia

Manning Publications

Web Village Voyage

Libraries >Javascript

Lodash - A JavaScript utility library delivering consistency, modularity, performance, & extras

Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js.

In 3 lists

Ramda - A practical functional library for Javascript programmers

Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data.

In 2 lists

functional.js - The functional JavaScript library

fantasy-land - Specification for interoperability of common algebraic structures in JavaScript

Specification for interoperability of common algebraic structures in JavaScript

In 4 listsDetails

Crocks - A collection of well known Monadic Containers for your utter enjoyment.

A collection of popular Algebraic Data Types with the main goal to curate and provide not only a common interface between each type, but also all of the helper functions needed to hit the ground running. -TS.

In 3 lists

wu.js - is a JavaScript library providing higher order functions (such as map, filter, and reduce) for ECMAScript 6…

pointfree-fantasy - Point free wrappers for fantasy land

folktalejs - Robust, Scalable, DRY. Folktale is a suite of libraries for generic functional programming in JavaScript…

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…

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

In 2 lists

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,…

Hyper performant & full featured like Bluebird, but FP-oriented. Coroutines, generators, promises, ES2015 iterables, & fantasy-land spec.

In 2 lists

js-csp - Communicating sequential processes for Javascript (like Clojurescript core.async, or Go)

用于 JavaScript 的顺序通信进程 CSP(如 ClojureScript core.async 或 Go)。

In 2 lists

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

Asynchronous flow control with a functional taste to it.

In 2 lists

neo-async - Neo-Async is thought to be used as a drop-in replacement for Async, it almost fully covers its…

async - Async utilities for node and the browser

Async utilities for node and the browser.

In 5 listsDetails

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

A JavaScript library for working with native objects.

In 4 listsDetails

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

The most complete React/Flux dev stack and starter kit for isomorphic functional web apps.

In 3 lists

Slack - Lazy functional JS library

nux - A Push-Based Functional Reactive UI Library for the Web

In 2 lists

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

Composable, immutable getters and setters. (Profunctor lenses WIP)

In 2 lists

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

Port of the Haskell package Data.Aviary.Birds. Everything for your combinatory needs.

In 2 lists

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

Library for creating tagged constructors.

In 2 lists

barely-functional - tiny (2.7kb) functional programming library using native es5/6 operations

A tiny (2.7kb) functional programming library using native ES5/6 operations. -TS.

In 2 lists

fantasydo - Do-notation for javascript fantasy land

linq.ts - LinQ for TypeScript

Fluture - A complete Fantasy Land compatible Future library

A Future library with included control utilities, high performance and great error messages.

In 2 lists

1-liners - Functional tools that couldn’t be simpler

Functional tools that couldn’t be simpler. A dead simple functional utility belt, hand-crafted with love and attention. -TS.

In 2 lists

immutable-ext - fantasyland extensions for immutablejs

FantasyLand extensions for Immutable.js.

In 2 lists

optics - This library is an implementation of profunctor optics using JS, heavily influenced by the PureScript…

Profunctor optics (Lens, Prism, iso).

In 3 lists

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

Specification similar to Fantasy Land but based on static methods rather than instance methods.

In 2 lists

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

A small JavaScript library for defining and using union types.

In 2 lists

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…

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

A collection of Free monads.

In 2 lists

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…

async-to-gen - Transform async functions to generator functions with speed and simplicity

imlazy - Functional, declarative, immutable and lazy as you like

Library for creating and manipulating lazy iterables using the ES2015 iteration protocols.

In 2 lists

partial.lenses - Partial lenses is a comprehensive, high-performance optics library for JavaScript

Partial lenses is a comprehensive, high-performance optics library for JavaScript.

In 3 lists

ramda-lens - Lens library built on ramda

ram: :mag_right: Lens library built on Ramda.

In 2 lists

lenses - Composable kmett style lenses

Composable kmett style lenses.

In 2 lists

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

In 2 lists

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

Functional programming library for TypeScript focusing on ADTs. +CT, +TS.

In 2 lists

QIO - Purely functional effect management library for Typescript.

Libraries >Livescript

prelude.ls - is a functionally oriented utility library

monolith-ls - Experimental fork of prelude-ls, gives a more functional feel to prelude.

Libraries >Java

TotallyLazy - A complete functional environment for Java

Frege - is a Haskell for the JVM. It brings purely functional programing to the Java platform.

Pure functional programming language in the spirit of Haskell.

In 2 lists

Vavr - (formerly called Javaslang) object-functional library that runs with Java 8+

functionaljava - Functional programming in Java

Functional Java is an open source library facilitating functional programming in Java. The library implements numerous basic and advanced programming abstractions that assist composition oriented development. Functional Java also serves as a platform for learning functional programming concepts by…

In 3 lists

yeti - Functional programming language for JVM

Jinq - LINQ-style queries for Java 8

🔴Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ).

In 2 lists

linq4j - A port of LINQ (Language-Integrated Query) to Java

javaz - Java 8 lambda experiment

Libraries >Clojure/ClojureScript

cats - Category Theory and Algebraic abstractions for Clojure and ClojureScript

In 2 lists

jank - A statically typed functional programming language

In 2 lists

lux - The Lux Programming Language

In 2 lists

Libraries >ClojureScript

re-frame - A Reagent Framework For Writing SPAs, in Clojurescript

Badges, logo, TOC, etc. Stands out by being a giant, well-written essay about the tech, how to use it, the philosophy behind it, and how it fits into the greater ecosystem.

In 3 lists

Libraries >Scala

scalaz - An extension to the core Scala library for functional programming

Type classes and instances for data structures.

In 2 lists

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

Libraries >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

Functional constructs for Kotlin

In 2 lists

kotlinslang - A functional library for Kotlin that provides functional control structures. Inspired by javaslang

Libraries >F#

FSharpPlus - A complete and extensible base library for F#.

FSharpx.Extras - Functional programming and other utilities

A collection of libraries and tools for use with F#.

In 2 lists

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

Functional Reactive Programming for the Arduino and other microcontrollers.

In 2 lists

Libraries >C#

language-ext - C# functional language extensions and 'Erlang like' concurrency system

C# functional language extensions and 'Erlang like' concurrency system.

In 3 lists

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

Libraries >Swift

Swift for Windows - is a free, open source tool that provide runtime environment for swift programming language to…

Dollar.swift - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript

Swiftz - Functional programming in Swift

Functional programming in Swift.

In 3 lists

LlamaKit - Collection of must-have functional Swift tools

Collection of must-have functional Swift tools.

In 2 lists

Prelude - Swift µframework of simple functional programming tools

Swift µframework of simple functional programming tools.

In 2 lists

Swiftx - Functional data types and functions for any project

Functional data types and functions for any project.

In 3 lists

Concurrent - Functional Concurrency Primitives

Functional Concurrency Primitives.

In 2 lists

SINQ - LINQ for Swift - Swift Integrated Query

Argo - Functional JSON parsing library for Swift

JSON parsing library for Swift, inspired by Aeson.

In 4 listsDetails

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…

A μframework of extensions for SequenceType in Swift 2.0, inspired by Python's itertools, Haskell's standard library, and other things.

In 2 lists

Libraries >Python

fn.py - Functional programming in Python: implementation of missing features to enjoy FP

"Functional programming in Python: implementation of missing features to enjoy FP" (unmaintained since 2014). Unmaintained fork.

In 3 lists

funcy - A fancy and practical functional tools

"A fancy and practical functional tools".

In 6 listsDetails

toolz - A functional standard library for Python

A collection of functional utilities for iterators, functions, and dictionaries. Also available as cytoolz for Cython-accelerated performance.

In 4 listsDetails

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…

"High abstract python library for functional programming. Contains algebraic data structures known from Haskell or Scala".

In 2 lists

Libraries >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

Libraries >Rust

elmesque - An attempt at porting Elm's incredibly useful, purely functional std graphics modules

Libraries >Julia

Lazy.jl - Functional programming for Julia

FunctionalCollections.jl - Functional and persistent data structures for Julia

Libraries >Go

go-linq - .NET LINQ-like query methods for Go

.NET LINQ-like query methods for Go.

In 3 lists

The Oden Programming Language - Oden is an experimental, statically typed, functional programming language, built for…

Libraries >Haskell

futhark - A data-parallel functional programming language

reflex - Practical Functional Reactive Programming

ghcvm - A Haskell to JVM compiler that supports GHC Haskell

A Haskell to JVM compiler that supports GHC Haskell.

In 2 lists

ivorylang - is an eDSL for safe systems programming. You can think of Ivory as a safer C, embedded in Haskell

Libraries >Erlang

lfe - Lisp Flavoured Erlang (LFE)

Libraries >OCaml

bucklescript - A backend for the OCaml compiler which emits JavaScript

Libraries >Racket

hackett - (Very) WIP implementation of a Haskell 98-like Lisp in Racket

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

In 2 lists

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

In 2 lists

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

In 3 lists
See category
94

Awesome OpenClaw Skills

VoltAgent/awesome-openclaw-skills

The awesome collection of OpenClaw skills. 5,400+ skills filtered and categorized from the official OpenClaw Skills Registry.🦞

Fresh★ 53k830 entriesPushed today
92

Awesome DeepSeek Harness (DSH) Plugin

awesome-dsh-plugin/awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表

Fresh★ 17k1654 entriesPushed today
91

Awesome Guidelines

Kristories/awesome-guidelines

Programming style, best practices, and coding conventions.

Fresh★ 11k166 entriesPushed 2 days ago
90

Awesome

sindresorhus/awesome

😎 Awesome lists about all kinds of interesting topics [NOTE: Pull requests are temporarily disabled until I have a chance to catch up with the existing ones]

Fresh★ 513k51 entriesPushed 28 days ago
90

Awesome Prompts

ai-boost/awesome-prompts

Curated list of chatgpt prompts from the top-rated GPTs in the GPTs Store. Prompt Engineering, prompt attack & prompt protect. Advanced Prompt Engineering papers.

Fresh★ 9k288 entriesPushed today
90

Awesome README

matiassingers/awesome-readme

A curated list of awesome READMEs

Fresh★ 22k143 entriesPushed yesterday