{"id":3381,"url":"https://github.com/xgrommx/awesome-functional-programming","name":"awesome-functional-programming","description":"Yet another resource for collecting articles, videos etc. regarding functional programming","projects_count":883,"last_synced_at":"2026-06-12T12:00:27.731Z","repository":{"id":37735105,"uuid":"46194363","full_name":"xgrommx/awesome-functional-programming","owner":"xgrommx","description":"Yet another resource for collecting articles, videos etc. regarding functional programming","archived":false,"fork":false,"pushed_at":"2024-01-16T08:10:48.000Z","size":1161,"stargazers_count":3526,"open_issues_count":12,"forks_count":304,"subscribers_count":148,"default_branch":"master","last_synced_at":"2026-05-26T20:03:39.125Z","etag":null,"topics":["awesome-functional-programming","awesome-list","awsome","f-algebras","functional-languages","recursion","recursion-schemes"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xgrommx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-11-14T22:19:43.000Z","updated_at":"2026-05-21T06:53:11.000Z","dependencies_parsed_at":"2024-01-08T17:15:49.461Z","dependency_job_id":"e5d1ba02-169a-480e-a101-b6b62a0d858e","html_url":"https://github.com/xgrommx/awesome-functional-programming","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/xgrommx/awesome-functional-programming","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xgrommx%2Fawesome-functional-programming","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xgrommx%2Fawesome-functional-programming/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xgrommx%2Fawesome-functional-programming/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xgrommx%2Fawesome-functional-programming/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xgrommx","download_url":"https://codeload.github.com/xgrommx/awesome-functional-programming/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xgrommx%2Fawesome-functional-programming/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34243053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-01-05T21:53:23.896Z","updated_at":"2026-06-12T12:00:27.732Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["Resources","Awesome","Libraries","Videos","Books","Tutorials and Articles","Languages","Presentations","Youtube channels"],"sub_categories":["[Elm](http://elm-lang.org)","[Swift](https://developer.apple.com/swift)","Combinators","[Monads](https://en.wikipedia.org/wiki/Monad_(functional_programming))","[Racket](https://racket-lang.org/)","[Lenses]()","[Purescript](http://www.purescript.org)","[Javascript](https://developer.mozilla.org/en-US/docs/Web/JavaScript)","[Livescript](https://github.com/gkz/LiveScript)","[Java](http://www.oracle.com/technetwork/java/index.html)","[Kotlin](https://github.com/JetBrains/kotlin)","[C#](https://github.com/dotnet/roslyn)","[Python](https://www.python.org/)","[Go](https://github.com/golang/go)","[Haskell](https://www.haskell.org)","[Clojure](https://github.com/clojure/clojure)/[ClojureScript](https://github.com/clojure/clojurescript)","[PHP](https://github.com/php/php-src)","[Scala](https://github.com/scala/scala)","[ClojureScript](https://github.com/clojure/clojurescript)","[F#](https://github.com/fsharp/fsharp)","[Rust](https://github.com/rust-lang/rust)","[Julia](https://github.com/JuliaLang/julia)","[Erlang](https://www.erlang.org)","[OCaml](https://ocaml.org/)"],"readme":"# [Awesome Functional Programming](https://en.wikipedia.org/wiki/Functional_programming) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\n\n## Contents\n\n- [Tutorials and Articles](#tutorials-and-articles)\n  - [Lenses](#lenses)\n  - [Monads](#monads)\n  - [Purescript](#purescript)\n  - [Elm](#elm)\n- [Awesome](#awesome)\n- [Books](#books)\n- [Resources](#resources)\n  - [Combinators](#combinators)\n- [Presentations](#presentations)\n- [Videos](#videos)\n- [Youtube channels](#youtube-channels)\n- [Libraries](#libraries)\n  - [JavaScript](#javascript)\n  - [LiveScript](#livescript)\n  - [Java](#java)\n  - [Clojure/ClojureScript](#clojureclojurescript)\n  - [Scala](#scala)\n  - [Kotlin](#kotlin)\n  - [F#](#f)\n  - [C#](#c)\n  - [Swift](#swift)\n  - [Python](#python)\n  - [PHP](#php)\n  - [Rust](#rust)\n  - [Julia](#julia)\n  - [Go](#go)\n  - [Haskell](#haskell)\n  - [Elixir](#elixir)\n  - [Erlang](#erlang)\n  - [OCaml](#ocaml)\n  - [Racket](#racket)\n- [Languages](#languages)\n  \n## Tutorials and Articles\n\n* [Thinking in Ramda - Blog series](http://randycoulman.com/blog/categories/thinking-in-ramda/)\n* [Part 1: An Intro to Functional Programming Concepts in JavaScript](https://medium.com/@collardeau/intro-to-functional-programming-concepts-in-javascript-b0650773139c)\n* [Part 2: An Intro to Functional Programming Concepts in JavaScript](https://medium.com/@collardeau/intro-to-functional-programming-concepts-in-javascript-part-2-f45228c49eed)\n* [Part 3: An Intro to Functional Programming Concepts in JavaScript](https://medium.com/@collardeau/part-3-an-intro-to-functional-programming-concepts-in-javascript-febf9368ffe6)\n* [Dipping into wu.js: autoCurry](https://javascriptweblog.wordpress.com/2010/06/14/dipping-into-wu-js-autocurry)\n* [Haskell in ES6: Part 1](http://casualjavascript.com/?1)\n* [Haskell in ES6: Part 2](http://casualjavascript.com/?2)\n* [Haskell in ES6: Project Euler 1-5](http://casualjavascript.com/?3)\n* [Don’t Be Scared Of Functional Programming](http://www.smashingmagazine.com/2014/07/dont-be-scared-of-functional-programming)\n* [Short cut fusion](https://wiki.haskell.org/Short_cut_fusion)\n* [My favorite functional adaptors](http://glebbahmutov.com/blog/my-favorite-functional-adaptors)\n* [Functional pipeline](http://glebbahmutov.com/blog/functional-pipeline)\n* [Partial argument binding with heroin](http://glebbahmutov.com/blog/partial-argument-binding-with-heroin/)\n* [Too much curry](http://glebbahmutov.com/blog/too-much-curry/)\n* [Lodash to Ramda example](http://glebbahmutov.com/blog/lodash-to-ramda-example/)\n* [Functional JavaScript interview question](http://glebbahmutov.com/blog/functional-js-interview-question/)\n* [Configurable function pattern](http://glebbahmutov.com/blog/configurable-function-pattern/)\n* [Combine promises with Maybe functors](http://glebbahmutov.com/blog/combine-promises-with-maybe-functors/)\n* [Test if a function is pure](http://glebbahmutov.com/blog/test-if-a-function-is-pure/)\n* [Functor + Applicative = Applier](http://glebbahmutov.com/blog/appliers/)\n* [Point-free programming is not pointless](http://glebbahmutov.com/blog/point-free-programming-is-not-pointless/)\n* [Immutable JavaScript example](http://glebbahmutov.com/blog/immutable-javascript-example/)\n* [Separate work from control flow using functional programming](http://glebbahmutov.com/blog/separate-work-from-control-flow-using-functional-programming/)\n* [OO vs FP console log example](http://glebbahmutov.com/blog/oo-vs-fp-log-example/)\n* [Essence of functional programming](http://glebbahmutov.com/blog/essence-of-functional-programming/)\n* [Adapted point-free callbacks](http://glebbahmutov.com/blog/adapted-point-free-callbacks/)\n* [Counting predicates](http://glebbahmutov.com/blog/counting-predicates/)\n* [Run N promises in parallel](http://glebbahmutov.com/blog/run-n-promises-in-parallel/)\n* [Too much point-free](http://glebbahmutov.com/blog/too-much-point-free/)\n* [Factorial using promises](http://glebbahmutov.com/blog/factorial-using-promises/)\n* [Reduce reigns supreme](http://glebbahmutov.com/blog/reduce-reigns-supreme/)\n* [Binding vs partial application](http://glebbahmutov.com/blog/binding-vs-partial-application/)\n* [Passing multiple arguments in promises](http://glebbahmutov.com/blog/passing-multiple-arguments-in-promises/)\n* [What is the difference between streams and functional reactive programming?](http://glebbahmutov.com/blog/what-is-the-difference-between-streams-and-functional-reactive-programming/)\n* [Remove boilerplate from promise chains](http://glebbahmutov.com/blog/remove-boilerplate-from-promise-chains/)\n* [Use JavaScript functor today](http://glebbahmutov.com/blog/use-javascript-functor-today/)\n* [Heavy lifting](http://glebbahmutov.com/blog/heavy-lifting/)\n* [Deep picking](http://glebbahmutov.com/blog/deep-picking/)\n* [Partial application for options object](http://glebbahmutov.com/blog/partial-application-for-options-object/)\n* [Unapply attack](http://glebbahmutov.com/blog/unapply-attack/)\n* [Return a promise for cleaner API](http://glebbahmutov.com/blog/return-a-promise-for-cleaner-api/)\n* [Imperative to compose example](http://glebbahmutov.com/blog/imperative-to-compose-example/)\n* [Variable assignment shortcut](http://glebbahmutov.com/blog/variable-assignment-shortcut/)\n* [Favoring Curry](http://fr.umio.us/favoring-curry)\n* [The Philosophy of Ramda](http://fr.umio.us/the-philosophy-of-ramda)\n* [Ranging Near and Far](http://fr.umio.us/ranging-near-and-far)\n* [Iffy Literals](http://fr.umio.us/iffy-literals)\n* [Why Ramda?](http://fr.umio.us/why-ramda)\n* [Say \"Hello\" to Lo-Dash](http://kitcambridge.be/blog/say-hello-to-lo-dash)\n* [Functional JavaScript using Lo-Dash, an underscore.js alternative](https://blog.codecentric.de/en/2013/01/functional-javascript-lo-dash-underscore-js-alternative)\n* [Currying in JavaScript](https://medium.com/@kevincennis/currying-in-javascript-c66080543528)\n* [Recursion in JavaScript](https://medium.com/@kevincennis/recursion-in-javascript-1608032c7a1f)\n* [How to Speed Up Lo-Dash ×100? Introducing Lazy Evaluation](http://filimanjaro.com/blog/2014/introducing-lazy-evaluation)\n* [ECMAScript 6 and Array Comprehension](http://ariya.ofilabs.com/2013/01/es6-and-array-comprehension.html)\n* [Implicit Function Chaining in Lodash](https://blog.mariusschulz.com/2015/05/14/implicit-function-chains-in-lodash)\n* [Lodash and ECMAScript 2015](https://blog.mariusschulz.com/2015/05/11/lodash-and-ecmascript-2015)\n* [Applicative Programming In JavaScript With lodash.js](http://codylindley.com/techpro/2013_10_14__functional-javascript)\n* [Better Support for Functional Programming in Angular 2](http://victorsavkin.com/post/108837493941/better-support-for-functional-programming-in)\n* [16 Months of Functional Programming](http://www.vasinov.com/blog/16-months-of-functional-programming)\n* [Functional UI and Components as Higher Order Functions](https://blog.risingstack.com/functional-ui-and-components-as-higher-order-functions)\n* [Functional programming with Ramda](https://medium.com/@kevinle/functional-programming-with-ramda-5c56d09c518e)\n* [Functional programming on frontend with React \u0026 ClojureScript](http://blog.scalac.io/2015/04/02/clojurescript-reactjs-reagent.html)\n* [Functional Programming should be your #1 priority for 2015](https://medium.com/@jugoncalves/functional-programming-should-be-your-1-priority-for-2015-47dd4641d6b9)\n* [Practical Functional Javascript with Ramda](http://developer.telerik.com/featured/practical-functional-javascript-ramda)\n* [Streaming Logs with Transducers and Ramda](http://simplectic.com/blog/2015/ramda-transducers-logs)\n* [The power of Immutability and React](https://medium.com/@sharifsbeat/the-power-of-immutability-and-react-daf46f2a5f4d)\n* [Tacit Ramda](https://medium.com/@bobiblazeski/tacit-ramda-c914775ff4b1)\n* [Composing Functions in JavaScript](http://blakeembrey.com/articles/2014/01/compose-functions-javascript)\n* [Partial Application in JavaScript](http://blakeembrey.com/articles/2014/01/partial-application-in-javascript/)\n* [Forcing Function Arity in JavaScript](http://blakeembrey.com/articles/2014/01/forcing-function-arity-in-javascript)\n* [Wrapping JavaScript Functions](http://blakeembrey.com/articles/2014/01/wrapping-javascript-functions)\n* [Partial Application in JavaScript](http://ejohn.org/blog/partial-functions-in-javascript)\n* [Functional JavaScript](http://blog.osteele.com/posts/2007/07/functional-javascript)\n* [Compiling to lambda-calculus: Turtles all the way down](http://matt.might.net/articles/compiling-up-to-lambda-calculus)\n* [Point-free programming style in F#](http://www.jayway.com/2012/05/08/point-free-programming-style-in-f)\n* [Lazy, composable, and modular JavaScript](https://codewords.recurse.com/issues/four/lazy-composable-and-modular-javascript)\n* [Partially Applied Functions In JavaScript](https://lostechies.com/derickbailey/2012/07/20/partially-applied-functions-in-javascript)\n* [Neural Networks, Types, and Functional Programming](http://colah.github.io/posts/2015-09-NN-Types-FP)\n* [Currying in JavaScript](https://medium.com/@kbrainwave/currying-in-javascript-ce6da2d324fe)\n* [Why Curry Helps](https://hughfdjackson.com/javascript/why-curry-helps)\n* [Factorial and Fibonacci in Kotlin](http://carlosqt.blogspot.com/2012/04/factorial-and-fibonacci-in-kotlin.html)\n* [Functional programming with Javascript](http://stephen-young.me.uk/2013/01/20/functional-programming-with-javascript.html)\n* [Элементы функциональных языков](http://fprog.ru/2009/issue3/eugene-kirpichov-elements-of-functional-languages)\n* [Functional Programming should be your #1 priority for 2015 — OOP cannot save us from the Cloud Monster anymore.](https://medium.com/@jugoncalves/functional-programming-should-be-your-1-priority-for-2015-47dd4641d6b9)\n* [A practical introduction to functional programming](http://maryrosecook.com/blog/post/a-practical-introduction-to-functional-programming)\n* [Functional programming in R language](http://adv-r.had.co.nz/Functional-programming.html)\n* [Category Theory in JavaScript](https://jscategory.wordpress.com) (must have)\n* [Understanding Continuations](https://www.fpcomplete.com/user/jwiegley/understanding-continuations)\n* [Tasks, microtasks, queues and schedules](https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules)\n* [Polyfilling generators](http://gu.illau.me/posts/polyfilling-generators)\n* [Fixed-point combinators in JavaScript: Memoizing recursive functions](http://matt.might.net/articles/implementation-of-recursive-fixed-point-y-combinator-in-javascript-for-memoization)\n* [Asynchronous programming and continuation-passing style in JavaScript](http://www.2ality.com/2012/06/continuation-passing-style.html)\n* [By example: Continuation-passing style in JavaScript](http://matt.might.net/articles/by-example-continuation-passing-style)\n* [The Y Combinator (Slight Return)](http://mvanier.livejournal.com/2897.html)\n* [Leaking Space - Eliminating memory hogs](https://queue.acm.org/detail.cfm?id=2538488)\n* [Breaking down FRP](https://blogs.janestreet.com/breaking-down-frp)\n* [What are some limitations/disadvantages of functional programming?](https://www.quora.com/What-are-some-limitations-disadvantages-of-functional-programming)\n* [Fun with promises in JavaScript](https://www.stephanboyer.com/post/107/fun-with-promises-in-javascript)\n* [Getting clever with lambda calculus](http://casualjavascript.com/2015/12/18/getting-clever-with-lambda.html)\n* [Servant, Type Families, and Type-level Everything A look at advanced GHC features used in Servant](http://www.arow.info/blog/posts/2015-07-10-servant-intro.html)\n* [Haskell-Style Fibonacci in Python](http://joelgrus.com/2015/07/07/haskell-style-fibonacci-in-python/)\n* [Polyglot Twitter Bot, Part 1: Node.js](http://joelgrus.com/2015/12/29/polyglot-twitter-bot-part-1-nodejs/)\n* [Polyglot Twitter Bot, Part 2: Node.js + AWS Lambda](http://joelgrus.com/2015/12/29/polyglot-twitter-bot-part-2-nodejs-aws-lambda/)\n* [Polyglot Twitter Bot, Part 3: Python 2.7 + AWS Lambda](http://joelgrus.com/2015/12/30/polyglot-twitter-bot-part-3-python-27-aws-lambda/)\n* [Functional programming with Ramda.js](http://neiro.io/2015/09/05/functional-programming-with-ramda-js.html)\n* [The Little Idea of Functional Programming](http://jaysoo.ca/2016/01/13/functional-programming-little-ideas)\n* [What is a functor?](https://medium.com/@dtinth/what-is-a-functor-dcf510b098b6#.zf6crffs6)\n* [What Is Functional Programming?](http://blog.jenkster.com/2015/12/what-is-functional-programming.html)\n* [Which Programming Languages Are Functional?](http://blog.jenkster.com/2015/12/which-programming-languages-are-functional.html)\n* [An Introduction to Functional Programming in JavaScript](https://bjpelc.wordpress.com/2015/02/06/an-introduction-to-functional-programming-in-javascript)\n* [Input and Output](http://learnyouahaskell.com/input-and-output)\n* [Function Application and Definition](http://slpopejoy.github.io/posts/2014-11-27-FunctionApplicationDefinition.html)\n* [Types \u0026 Kinds](http://slpopejoy.github.io/posts/2015-04-10-Types.html)\n* [Effectful Haskell: Reader, Transformers, Typeclasses](http://slpopejoy.github.io/posts/Effectful02.html)\n* [asynquence: The Promises You Don’t Know Yet (Part 1)](https://davidwalsh.name/asynquence-part-1)\n* [asynquence: More Than Just Promises (Part 2)](https://davidwalsh.name/asynquence-part-2)\n* [Going Async With ES6 Generators](https://davidwalsh.name/async-generators)\n* [Getting Concurrent With ES6 Generators](https://davidwalsh.name/concurrent-generators)\n* [Currying versus partial application (with JavaScript code)](http://www.2ality.com/2011/09/currying-vs-part-eval.html)\n* [Flatmap explained](https://porizi.wordpress.com/2014/02/21/flatmap-explained)\n* [Applicatives are generalized functors](https://hseeberger.wordpress.com/2011/01/31/applicatives-are-generalized-functors)\n* [Introduction to Category Theory in Scala](https://hseeberger.wordpress.com/category/category-theory)\n* [Understanding Transducers](http://elbenshira.com/blog/understanding-transducers)\n* [Understanding Transducers in JavaScript](https://medium.com/@roman01la/understanding-transducers-in-javascript-3500d3bd9624#.ze7jh4h2x)\n* [Visualizing Concurrency in Go](https://divan.github.io/posts/go_concurrency_visualize)\n* [Lazy Iterables in JavaScript](http://raganwald.com/2015/02/17/lazy-iteratables-in-javascript.html)\n* [Difference between a Promise and a Task](https://glebbahmutov.com/blog/difference-between-promise-and-task)\n* [Switching from immutable.js to seamless-immutable](http://tech.noredink.com/post/107617838018/switching-from-immutablejs-to-seamless-immutable)\n* [A Gentle Introduction to Functional JavaScript: Part 1](http://jrsinclair.com/articles/2016/gentle-introduction-to-functional-javascript-intro)\n* [A Gentle Introduction to Functional JavaScript: Part 2](http://jrsinclair.com/articles/2016/gentle-introduction-to-functional-javascript-arrays)\n* [A Gentle Introduction to Functional JavaScript: Part 3](http://jrsinclair.com/articles/2016/gentle-introduction-to-functional-javascript-functions)\n* [A Gentle Introduction to Functional JavaScript: Part 4](http://jrsinclair.com/articles/2016/gentle-introduction-to-functional-javascript-style)\n* [From mathematics to map-reduce](http://www.haskellforall.com/2016/02/from-mathematics-to-map-reduce.html)\n* [Continuations](https://curiosity-driven.org/continuations)\n* [Elmish: Functional Programming in Javascript](https://medium.com/@chetcorcos/elmish-functional-programming-in-javascript-50995f1d4b9e#.gxfuglcw8)\n* [Functional Programming for JavaScript People](https://medium.com/@chetcorcos/functional-programming-for-javascript-people-1915d8775504#.65dy1pg1i)\n* [Coroutine Event Loops in Javascript](https://x.st/javascript-coroutines)\n* [How Do I Learn Functional Programming In Javascript? - Linkpost](http://www.fse.guru/how-do-i-learn-functional-programming-in-javascript-linkpost)\n* [Debugging Functional](https://medium.com/@drboolean/debugging-functional-7deb4688a08c#.bbrftrszz)\n* [Why using `_.chain` is a mistake](https://medium.com/making-internets/why-using-chain-is-a-mistake-9bc1f80d51ba#.hq00cmdrw)\n* [More points for lazy evaluation](http://augustss.blogspot.com/2011/05/more-points-for-lazy-evaluation-in.html)\n* [Trampolines in JavaScript](http://raganwald.com/2013/03/28/trampolines-in-javascript.html)\n* [Where combinator names come from](http://www.johndcook.com/blog/2014/02/06/schonfinkel-combinators/)\n* [Category Theory for Promises/A+](https://brianmckenna.org/blog/category_theory_promisesaplus)\n* [Everything Reduced: Transducers in Javascript](https://medium.com/@dtipson/everything-reduced-transducers-in-javascript-8ea3459bc7f9#.8udfq9qgc)\n* [Javascript Transducers 2: Stateful \u0026 Gateful](https://medium.com/@dtipson/javascript-transducers-2-stateful-gateful-1faa1b01ae50#.tpd0umbp2)\n* [Creating an ES6ish Compose in Javascript](https://medium.com/@dtipson/creating-an-es6ish-compose-in-javascript-ac580b95104a#.iiyge32r2)\n* [More Functional Javascript: Reducing Promises, Ramda.js, \u0026 Arrow functions again](https://medium.com/@dtipson/more-functional-javascript-reducing-promises-ramda-js-arrow-functions-again-c1f90e0a79d0#.iazm515xv)\n* [Functional Programming is for Dummies](https://medium.com/@dtipson/functional-programming-is-for-dummies-fa130a629250#.3eb04lfbp)\n* [Functional Programming Principles in Scala](http://vasnake.blogspot.com/2016/03/functional-programming-principles-in.html)\n* [Introduction to Immutable.js and Functional Programming Concepts](https://auth0.com/blog/2016/03/23/intro-to-immutable-js/)\n* [Functional Programming in JavaScript - The Functional Paradigm in a Familiar Language](https://dzone.com/refcardz/functional-programming-with-javascript)\n* [Using Lodash as a Collection of Micro-Libraries](http://knpw.rs/blog/using-lodash)\n* [See How Easily You Can Create a Promise](https://o2js.com/see-how-easily-you-can-create-a-promise)\n* [Achieving point-free JavaScript with R.converge / _.over](https://medium.com/@nicoespeon/achieving-point-free-javascript-with-r-converge-overargs-94060fd0ed7a#.xi63eq605)\n* [Introduction to Functional JavaScript](https://medium.com/functional-javascript/introduction-to-functional-javascript-45a9dca6c64a#.pofkvcd7z)\n* [Functions](https://medium.com/functional-javascript/functions-61b9096b5638#.6ntr05g4z)\n* [Higher Order Functions](https://medium.com/functional-javascript/higher-order-functions-78084829fff4#.inii2wlzh)\n* [Recursion](https://medium.com/functional-javascript/recursion-282a6abbf3c5#.4x0h9awy7)\n* [3. More Functional Swift](https://medium.com/swift-programming/3-more-functional-swift-4bb7256c087d#.odesvmw2c)\n* [2. Functional Swift](https://medium.com/swift-programming/2-functional-swift-c98be9533183#.ze1gph6zi)\n* [Swift closures and functions](http://fuckingswiftblocksyntax.com/)\n* [Debouncing and Throttling Explained Through Examples](https://css-tricks.com/debouncing-throttling-explained-examples/)\n* [Foldable and Traversable](http://blog.jakubarnold.cz/2014/07/30/foldable-and-traversable.html)\n* [How do Promises Work?](http://robotlolita.me/2015/11/15/how-do-promises-work.html)\n* [Javascript generators and functional reactive programming](http://sitr.us/2014/08/02/javascript-generators-and-functional-reactive-programming.html)\\\n* [No promises: asynchronous JavaScript with only generators](http://www.2ality.com/2015/03/no-promises.html)\n* [Functional Mixins in ECMAScript 2015](http://raganwald.com/2015/06/17/functional-mixins.html)\n* [CSP and transducers in JavaScript](http://phuu.net/2014/08/31/csp-and-transducers.html)\n* [ES6 generators in depth](http://www.2ality.com/2015/03/es6-generators.html)\n* [Functional Programming for JavaScript People](https://medium.com/@chetcorcos/functional-programming-for-javascript-people-1915d8775504#.teglaxq5d)\n* [The allure of Scala.js](http://blog.ramnivas.com/technology/2016/02/09/the-allure-of-scalajs.html)\n* [Swift Guide to Map Filter Reduce](http://useyourloaf.com/blog/swift-guide-to-map-filter-reduce/)\n* [6 Reasons Why You Should Write Functional Code](http://funkyjavascript.com/6-reasons-why-you-should-write-functional-code/)\n* [The Perfect API](http://james-forbes.com/?/posts/the-perfect-api)\n* [(Basic) Lazy Evaluation and Memoization in JavaScript](http://blog.gypsydave5.com/2015/03/21/lazy-eval-and-memo/)\n* [Divide and Conquer with Algebraic Structures](https://medium.com/@drboolean/divide-and-conquer-with-algebraic-structures-14070106fb4#.ae1a9xf08)\n* [Async and await](https://zeit.co/blog/async-and-await)\n* [Applicative functors: definition and syntax](http://tomasp.net/blog/applicative-functors.aspx/)\n* [Proofs of functor laws in Haskell](http://ssomayyajula.github.io/posts/2015-11-07-proofs-of-functor-laws-with-Haskell.html)\n* [The functor design pattern](http://www.haskellforall.com/2012/09/the-functor-design-pattern.html)\n* [A 𝝺-CALCULUS INTERPRETER - in less than 200 lines of JavaScript](http://tadeuzagallo.com/blog/writing-a-lambda-calculus-interpreter-in-javascript/)\n* [Tree traversal in CoffeeScript](https://alisdair.mcdiarmid.org/tree-traversal-in-coffeescript/)\n* [Monoidal Contravariant Functors are actually useful!](https://medium.com/@drboolean/monoidal-contravariant-functors-are-actually-useful-1032211045c4#.pmf31o9gd)\n* [Infinite collections with ES6 generators](https://advancedweb.hu/2016/05/31/infinite-collections-with-es6-generators/)\n* [Improving your functional CoffeeScript and JavaScript](https://www.jayway.com/2013/12/22/improving-your-functional-coffeescript-and-javascript/)\n* [Comparing Javascript generators vs Clojurescript lazy-seq by solving a Fibonnaci problem](https://medium.com/@rlucha/comparing-javascript-generators-vs-clojurescript-lazy-seq-by-solving-a-fibonnaci-problem-61c1524d67d6#.swxk99bgd)\n* [Grasping Haskell: functors, applicatives and monads (part 1)](https://medium.com/@xanderdeseyn/grasping-haskell-functors-applicatives-and-monads-part-1-93368e0a7a74#.692ooxhnz)\n* [Grasping Haskell: functors, applicatives and monads (part 2)](https://medium.com/@xanderdeseyn/grasping-haskell-functors-applicatives-and-monads-part-2-65255e3e6a1d#.xigtg4wma)\n* [Functor, Foldable, and Traversable Over Binary Tree](https://queertypes.com/posts/37-functor-traverse-fold-tree.html)\n* [Functional Components with React stateless functions and Ramda](https://medium.com/@mirkomariani/functional-components-with-react-stateless-functions-and-ramda-e83e54fcd86b#.tr2jf6dv6)\n* [Support for deriving Functor, Foldable, and Traversable instances](https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/DeriveFunctor)\n* [Fold (higher-order function)](https://en.wikipedia.org/wiki/Fold_(higher-order_function))\n* [Making a Haskell (Scotty) web app and putting it on Heroku](http://qiita.com/kimagure/items/5947e2db40b9ec2226bf)\n* [Promises + FP = Beautiful Streams](https://medium.com/@yelouafi/promises-fp-beautiful-streams-6f0235c5b179#.fl8mmu2xs)\n* [Composability: from Callbacks to Categories in ES6](https://medium.com/@homam/composability-from-callbacks-to-categories-in-es6-f3d91e62451e#.x3q3q9pzl)\n* [Understanding F-Algebras](https://www.schoolofhaskell.com/user/bartosz/understanding-algebras)\n* [Fold](https://wiki.haskell.org/Fold)\n* [Why Functional Programming Matters](https://blog.acolyer.org/2016/09/14/why-functional-programming-matters/)\n* [Smarter validation](https://ro-che.info/articles/2015-05-02-smarter-validation)\n* [The Algebra of Algebraic Data Types, Part 1](http://chris-taylor.github.io/blog/2013/02/10/the-algebra-of-algebraic-data-types/)\n* [The Algebra of Algebraic Data Types, Part 2](http://chris-taylor.github.io/blog/2013/02/11/the-algebra-of-algebraic-data-types-part-ii/)\n* [The Algebra of Algebraic Data Types, Part 3](http://chris-taylor.github.io/blog/2013/02/13/the-algebra-of-algebraic-data-types-part-iii/)\n* [Async in Purescript is fun and easy](http://qiita.com/kimagure/items/2ebce1399bac00c79656)\n* [Design Patterns in Haskell](http://blog.ezyang.com/2010/05/design-patterns-in-haskel/)\n* [So You Want to be a Functional Programmer Series by Charles Scalfani](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-1-1f15e387e536#.cxfubzoqh)\n* [Haskell Progressive Example - An OpenGL 3D extension of the Mandelbrot set](http://yannesposito.com/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/)\n* [Folds and Infinite Lists](http://argumatronic.com/posts/2016-09-17-infinite-folds.html)\n* [list-transformer - A beginner-friendly ListT](http://www.haskellforall.com/2016/07/list-transformer-beginner-friendly-listt.html)\n* [Sharing, Space Leaks, and Conduit and friends](http://www.well-typed.com/blog/2016/09/sharing-conduit/)\n* [Functors are Containers](https://bartoszmilewski.com/2014/01/14/functors-are-containers/)\n* [Tuples in JavaScript](http://oli.me.uk/2013/07/12/tuples-in-javascript/)\n* [Making juice with reduce/foldl](http://www.macwright.org/2015/01/03/reduce-juice.html)\n* [Getting audio from Youtube channels in the easiest way possible using Haskell](http://qiita.com/kimagure/items/0a2f3d60789c646e4426)\n* [From Callback to Future -\u003e Functor -\u003e Monad](https://hackernoon.com/from-callback-to-future-functor-monad-6c86d9c16cb5)\n* [Slaying a UI Antipattern in Fantasyland](https://medium.com/javascript-inside/slaying-a-ui-antipattern-in-fantasyland-907cbc322d2a#.rmepdr82j)\n* [Form Validation As A Higher Order Component Pt.1](https://medium.com/javascript-inside/form-validation-as-a-higher-order-component-pt-1-83ac8fd6c1f0#.u2pkcyfb6)\n* [Form Validation As A Higher Order Component Pt.2](https://medium.com/javascript-inside/form-validation-as-a-higher-order-component-pt-2-1edb7881870d#.ldwpp7qgl)\n* [Using JavaScript to Learn Haskell](https://medium.com/@sjsyrek/using-javascript-to-learn-haskell-f57509015842#.g5kbyrz77)\n* [FFI with Haskell and Rust](https://mgattozzi.github.io/2016/10/01/haskell-rust.html)\n* [A Taste of Haskell](https://hookrace.net/blog/a-taste-of-haskell/)\n* [BEAUTIFUL FOLDS IN SCALA](https://softwaremill.com/beautiful-folds-in-scala/)\n* [Functional Programming In JS — With Practical Examples (Part 1)](https://medium.com/@rajaraodv/functional-programming-in-js-with-practical-examples-part-1-87c2b0dbc276#.y01dinh7e)\n* [Immutable.js: The True Joy of JavaScript](http://blog.sigmapoint.pl/immutable-js-the-true-joy-of-javascript/)\n* [Mutual Recursion in Final Encoding](https://aherrmann.github.io/programming/2016/05/28/mutual-recursion-in-final-encoding/)\n* [Semigroups](https://medium.com/@gcanti/semigroups-f74f7643c0d4#.okttdogyg)\n* [Using F# on both the frontend and the backend](http://danielbachler.de/2016/12/10/f-sharp-on-the-frontend-and-the-backend.html)\n* [Stack safe Function composition](https://medium.com/@safareli/stack-safe-function-composition-85d61feee37e#.fige7eu8l)\n* [Applicative functors: definition and syntax](http://tomasp.net/blog/applicative-functors.aspx/)\n* [The versatility of Array methods](https://james-forbes.com/index.html?/posts/versatility-of-array-methods)\n* [Functional Programming in JavaScript](http://dealwithjs.io/functional-programming-in-javascript/)\n* [Abstracting Computations with Type Classes](https://freecontent.manning.com/abstracting-computations-with-type-classes/)\n\n### [Lenses]()\n\n* [Lenses In Pictures](http://adit.io/posts/2013-07-22-lenses-in-pictures.html)\n* [Lenses and Virtual DOM Support Open Closed](http://joneshf.github.io/programming/2015/12/19/Lenses-and-Virtual-DOM-Support-Open-Closed.html)\n* [JavaScript through the Lenses of Functional Programming](https://web.archive.org/web/20160802064916/http://www.luisatencio.net/2015/09/javascript-through-lenses-of-functional.html)\n* [How functional programming lenses work](http://fluffynukeit.com/how-functional-programming-lenses-work)\n* [Basic Lensing](https://www.schoolofhaskell.com/school/to-infinity-and-beyond/pick-of-the-week/basic-lensing)\n* [Lenses with Immutable.js](https://medium.com/@drboolean/lenses-with-immutable-js-9bda85674780#.hwrcbhxyu)\n* [Использование линз на реальных примерах](http://blog.csssr.ru/2016/07/08/lenses/)\n* [lens over tea #1: lenses 101, traversals 101, and some implementation details](https://artyom.me/lens-over-tea-1)\n* [Functional Lenses, How Do They Work](https://medium.com/@dtipson/functional-lenses-d1aba9e52254#.6hlng669r)\n* [An Introduction Into Lenses In JavaScript Functional Getter/Setter](https://medium.com/javascript-inside/an-introduction-into-lenses-in-javascript-e494948d1ea5#.ck7t1syp0)\n* [Pointwise Lenses](https://www.well-typed.com/blog/2014/04/pointwise-lenses/)\n* [Линзы: Real World](https://ruhaskell.org/posts/packages/2015/01/28/lenses-real-world.html)\n* [Haskell Lenses Notes](https://rafal.io/posts/haskell-lenses-notes.html)\n* [Isomorphism lenses](http://www.twanvl.nl/blog/haskell/isomorphism-lenses)\n* [An Intro to Lens With No Theory](https://abesto.net/an-intro-to-lens-with-no-theory/)\n* [Lens you an applicative for great haskell?](https://izbicki.me/blog/lens-you-an-applicative-for-great-haskell.html)\n* [I got lenses in my Functors](https://izbicki.me/blog/i-got-lenses-in-my-functors)\n* [A Little Lens Starter Tutorial](https://www.schoolofhaskell.com/school/to-infinity-and-beyond/pick-of-the-week/a-little-lens-starter-tutorial)\n* [Introduction to optics: lenses and prisms](https://medium.com/@gcanti/introduction-to-optics-lenses-and-prisms-3230e73bfcfe#.nnp002k5j)\n* [Lens Tutorial - Introduction (part 1)](http://blog.jakubarnold.cz/2014/07/14/lens-tutorial-introduction-part-1.html)\n* [Lens Tutorial - Stab \u0026 Traversal (Part 2)](http://blog.jakubarnold.cz/2014/08/06/lens-tutorial-stab-traversal-part-2.html)\n\n### [Monads](https://en.wikipedia.org/wiki/Monad_(functional_programming))\n\n* [Monads: Your App as a Function, Part 1](http://mttkay.github.io/blog/2014/01/25/your-app-as-a-function)\n* [Monads: Your App as a Function, Part 2](https://mttkay.github.io/blog/2014/01/25/monads-your-app-as-a-function-part-2)\n* [The Marvels of Monads](http://blogs.msdn.com/b/wesdyer/archive/2008/01/11/the-marvels-of-monads.aspx)\n* [A Fistful of Monads](http://learnyouahaskell.com/a-fistful-of-monads)\n* [Category Theory via C# (22) More Monad: Continuation Monad](http://weblogs.asp.net/dixin/category-theory-via-c-sharp-22-more-monad-continuation-monad)\n* [The Mother of all Monads](http://blog.sigfpe.com/2008/12/mother-of-all-monads.html)\n* [Understanding Monads With JavaScript](http://igstan.ro/posts/2011-05-02-understanding-monads-with-javascript.html)\n* [Promises are the monad of asynchronous programming](https://blog.jcoglan.com/2011/03/11/promises-are-the-monad-of-asynchronous-programming)\n* [A Monad in Practicality: First-Class Failures](http://robotlolita.me/2013/12/08/a-monad-in-practicality-first-class-failures.html)\n* [A Monad in Practicality: Controlling Time](http://robotlolita.me/2014/03/20/a-monad-in-practicality-controlling-time.html)\n* [Monads in JavaScript](https://curiosity-driven.org/monads-in-javascript)\n* [Mindfuck: The Reverse State Monad](https://lukepalmer.wordpress.com/2008/08/10/mindfuck-the-reverse-state-monad)\n* [Comonads, Monoids and Trees](http://joneshf.github.io/programming/2015/12/31/Comonads-Monoids-and-Trees.html) (awesome article)\n* [The Delimited Continuation Monad in Javascript](http://blog.mattbierner.com/the-delimited-continuation-monad-in-javascript)\n* [Free Monads Are Simple](http://underscore.io/blog/posts/2015/04/14/free-monads-are-simple.html)\n* [Effectful Haskell: IO, Monads, Functors](http://slpopejoy.github.io/posts/Effectful01.html)\n* [Functors, Applicative Functors, and Monads aren't that scary](http://gabrielsw.blogspot.com/2011/08/functors-applicative-functors-and.html)\n* [Functors, Monads, Applicatives – can be so simple](https://thedet.wordpress.com/2012/04/28/functors-monads-applicatives-can-be-so-simple)\n* [Practical Intro to Monads in JavaScript](http://tech.evojam.com/2016/02/22/practical-intro-to-monads-in-javascript)\n* [The Indexed State Monad in Haskell, Scala, and C#](https://gist.github.com/pthariensflame/5054294)\n* [Who in Their Right Mind Would Use Monads in Clojure?](http://blog.muhuk.com/2015/10/01/who_in_their_right_mind_would_use_monads_in_clojure.html#.VuvdlJN97PB)\n* [Let’s Make a Monad](https://medium.com/@dtipson/hey-let-s-make-a-monad-e276802fdb0c#.2wbev1dme)\n* [Let’s Put jQuery in a Monad](https://medium.com/@dtipson/let-s-make-jquery-a-monad-7df0e79a842d#.bq9lz9fm7)\n* [Monads in C++](http://bartoszmilewski.com/2011/07/11/monads-in-c/)\n* [Monads in plain JavaScript](http://modernjavascript.blogspot.com/2013/06/monads-in-plain-javascript.html)\n* [Practical Intro to Monads in JavaScript: Either](https://tech.evojam.com/2016/03/21/practical-intro-to-monads-in-javascript-either)\n* [Practical Intro to Monads in JavaScript: Validation](https://tech.evojam.com/2016/04/26/practical-intro-to-monads-in-javascript-validation/)\n* [Practical Intro to Monads in JavaScript](https://tech.evojam.com/2016/02/22/practical-intro-to-monads-in-javascript/)\n* [Monads, promises, arrays in Javascript](http://pseudocorta.blogspot.com/2014/05/monads-promises-arrays-in-javascript.html)\n* [Monad syntax for JavaScript](https://blog.jcoglan.com/2011/03/06/monad-syntax-for-javascript)\n* [Translation from Haskell to JavaScript of selected portions of the best introduction to monads I’ve ever read](https://blog.jcoglan.com/2011/03/05/translation-from-haskell-to-javascript-of-selected-portions-of-the-best-introduction-to-monads-ive-ever-read)\n* [Monads](http://functionaljavascript.blogspot.com/2013/07/monads.html)\n* [A Gentle Intro to Monads … Maybe?](http://sean.voisen.org/blog/2013/10/intro-monads-maybe)\n* [Monads - function composition on steroids](http://pkaczor.blogspot.com/2013/09/monads-function-composition-on-steroids.html)\n* [Rx for Haskell - My First Monad](http://haskellrescue.blogspot.com/2011/06/rx-for-haskell-my-first-monad.html)\n* [Monads for Dummies](http://jabberwocky.eu/2012/11/02/monads-for-dummies/)\n* [Week 3 - Introduction to Monads in JavaScript](http://www.aaronhsmith.com/2015/09/08/introduction-monads-javascript/)\n* [Монады в Javascript](http://kolesnichenkods.github.io/2015/08/01/%D0%9C%D0%BE%D0%BD%D0%B0%D0%B4%D1%8B-%D0%B2-JavaScript/)\n* [Аналоги монад Haskell](http://www.linux.org.ru/forum/development/7730147)\n* [Functors, Applicatives, and Monads in Plain English](http://www.russbishop.net/monoids-monads-and-functors)\n* [what does “lifting” mean?](http://cstheory.stackexchange.com/questions/14125/what-does-lifting-mean/14126#14126)\n* [Free and Freer Monads: Putting Monads Back into Closet](http://okmij.org/ftp/Computation/free-monad.html)\n* [Akh - Monad Transformers for Javascript](http://blog.mattbierner.com/akh-monad-transformers-for-javascript/)\n* [Decision Trees Are Free Monads Over the Reader Functor](http://clathomasprime.github.io/hask/freeDecision)\n* [Собираемся с духом и перестаем бояться монад](http://eax.me/monads/)\n* [Утилиты работы с монадами](http://www.haskell.ru/monad.html)\n* [Ru/IO Inside](https://wiki.haskell.org/Ru/IO_Inside)\n* [Foldable.mapM_, Maybe, and recursive functions](https://www.schoolofhaskell.com/user/snoyberg/general-haskell/basics/foldable-mapm-maybe-and-recursive-functions#mono-traversable)\n* [Of Algebirds, Monoids, Monads, and Other Bestiary for Large-Scale Data Analytics](http://www.michael-noll.com/blog/2013/12/02/twitter-algebird-monoid-monad-for-large-scala-data-analytics/#the-tldr-version-of-monoids-and-monads)\n* [Comonads as Spaces](http://blog.functorial.com/posts/2016-08-07-Comonads-As-Spaces.html)\n* [MonadFix](https://wiki.haskell.org/MonadFix)\n* [Monads - Array, Promise and Maybe monads. Plus Docker is a functor](https://glebbahmutov.com/blog/monads/)\n* [The Marvellously Mysterious JavaScript Maybe Monad](http://jrsinclair.com/articles/2016/marvellously-mysterious-javascript-maybe-monad/)\n* [The midnight Monad, a journey to enlightenment](http://www.lambdacat.com/the-midnight-monad-a-journey-to-enlightenment/)\n* [Monads in Haskell: ((-\u003e) r)](http://www.mjoldfield.com/atelier/2014/07/monads-fn.html)\n* [Monoids, Functors, Applicatives, and Monads: 10 Main Ideas](https://monadmadness.wordpress.com/2015/01/02/monoids-functors-applicatives-and-monads-10-main-ideas/)\n* [Kleisli Functors](http://elvishjerricco.github.io/2016/10/12/kleisli-functors.html)\n* [The Dead Simple, No Chit Chat, Zero-Analogy Haskell Monad Tutorial](https://unknownparallel.wordpress.com/zero-analogy-monad-tutorial/)\n* [Monads Demystified](http://blog.reverberate.org/2015/08/monads-demystified.html)\n* [Understanding Monads](https://medium.com/real-world-fsharp/understanding-monads-db30eeadf2bf#.dtr6wmvyc)\n* [Functors, Applicatives, And Monads In Pictures](http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html)\n* [Monads as Practical Functionality Providers](https://freecontent.manning.com/monads-as-practical-functionality-providers/)\n\n### [Purescript](http://www.purescript.org)\n\n* [Building Apps with PureScript and React](https://kritzcreek.github.io/tutorial/2015/03/31/apps-with-purescript-and-react-1)\n* [Frontend Functional Programming with PureScript and Elm](http://blog.thomasstreet.com/post/129725260288/frontend-functional-programming-with-purescript)\n* [Writing PureScript Bindings for a jQuery Plugin](https://filib.io/posts/2015-11-06-writing-purescript-bindings-for-a-jquery-plugin.html)\n* [PureScript on Android](http://blog.ndk.io/purescript-on-android.html)\n* [Rendering a Tic-Tac-Toe board with purescript-react](https://kritzcreek.github.io/example/2015/10/03/tic-tac-toe-with-purescript)\n* [Playing Tic-Tac-Toe using purescript-signal](https://kritzcreek.github.io/tutorial/2015/10/07/playing-tic-tac-toe-with-purescript-signal)\n* [Fighting node callback hell with PureScript](https://andreypopp.com/posts/2014-07-21-fighting-node-callbacks-with-purescript.html)\n* [Approximating PI With PureScript](http://sleepomeno.github.io/blog/2015/03/14/Approximating-PI-with-PureScript/)\n* [Learn X in Y minutes - Where X=purescript](https://learnxinyminutes.com/docs/purescript/)\n* [PureScript for the Haskeller Where to get started in PureScript for the Haskell programmer](http://www.arow.info/blog/posts/2015-12-17-purescript-intro.html)\n* [Polyglot Twitter Bot, Part 4: PureScript](http://joelgrus.com/2015/12/31/polyglot-twitter-bot-part-4-purescript/)\n* [WebApps with PureScript and RactiveJS](http://blog.brakmic.com/webapps-with-purescript-and-ractivejs)\n* [Managing Application State with PureScript \u0026 Redux](http://blog.brakmic.com/managing-application-state-with-purescript-redux)\n* [PureScript with Leaflet Experiments](http://odoe.net/blog/purescript-with-leaflet-experiments)\n* [Purescript will make you purr like a kitten](http://blog.sigmapoint.pl/purescript-will-make-you-purr-like-a-kitten)\n* [PureScript + React + Electron](http://alexey.raga.name/posts/2015/09/28/purescript-react-electron)\n* [Getting started in PureScript (Part 1)](https://pierrebeaucamp.surge.sh/post/Getting%20started%20in%20PureScript%20(Part%201))\n* [Getting Started with Purescript for Web Development](http://curtis.io/purescript-for-web-development)\n* [PureScript for Front End Developers](http://konkle.us/purescript-for-front-end-developers/)\n* [A Real-World PureScript FE Build Setup](http://konkle.us/a-real-world-purescript-build-setup/)\n* [Making a simple node program with Purescript](http://qiita.com/kimagure/items/5674e3ae9c87262af762)\n* [PureScript — An Intro for JavaScript Hackers](https://medium.com/@dum.constantin/purescript-an-intro-for-javascript-hackers-605442e963a3#.h6b0uufdg)\n* [Parsing complex foreign objects in PureScript](http://codingstruggles.com/purescript/purescript-parsing-complex-foreign-objects.html)\n* [Writing a simple Telegram chat bot in Purescript](http://qiita.com/kimagure/items/2da0fe86b218b3f832d0)\n* [Making a Weather Telegram bot in Purescript](http://futurice.com/blog/making-a-weather-telegram-bot-in-purescript)\n* [Row span with PureScript pux and JavaScript redux](http://www.andrevdm.com/posts/2016-09-01-rowSpan-pux-redux.html)\n* [Make the Leap from JavaScript to PureScript](https://hackernoon.com/make-the-leap-from-javascript-to-purescript-5b35b1c06fef)\n\n### [Elm](http://elm-lang.org)\n\n* [Building a Live-Validated Signup Form in Elm](http://tech.noredink.com/post/129641182738/building-a-live-validated-signup-form-in-elm)\n* [Data Structures in Elm](http://tech.noredink.com/post/140646140878/data-structures-in-elm)\n* [Walkthrough: Introducing Elm to a JS Web App](http://tech.noredink.com/post/126978281075/walkthrough-introducing-elm-to-a-js-web-app)\n* [Static site generation in Elm](http://tech.noredink.com/post/140291903568/static-site-generation-in-elm)\n* [Архитектура приложения в Elm](http://ruhaskell.org/posts/elm/2015/03/06/elm-architecture.html)\n* [Начало проекта на Elm](http://ruhaskell.org/posts/elm/2015/01/22/elm-hello.html)\n* [Optimistic UI and Reactive Programming with Elm](http://athiemann.net/2015/07/26/optimistic-ui-elm.html)\n* [Understanding Signal.forwardTo](http://zkessin.github.io/elm-examples-blog//examples/2016/01/07/understanding-Signal.forwardTo.html)\n* [Learning FP the hard way: Experiences on the Elm language](https://gist.github.com/ohanhi/0d3d83cf3f0d7bbea9db)\n* [Architecture in Elm](https://gist.github.com/evancz/2b2ba366cae1887fe621)\n* [Switching from imperative to functional programming with games in Elm](https://github.com/Dobiasd/articles/blob/master/switching_from_imperative_to_functional_programming_with_games_in_Elm.md)\n* [How Elm made our work better](http://futurice.com/blog/elm-in-the-real-world)\n* [Elm for the Frontend, Right Now](https://bendyworks.com/elm-frontend-right-now)\n* [Introduction to ML in Elm](https://www.classes.cs.uchicago.edu/archive/2015/winter/22300-1/lectures/IntroML.html)\n* [Making a scroll table with Elm](http://qiita.com/kimagure/items/57cdd08bdf56cc51d294)\n* [A simple introduction to using Elm ports](http://qiita.com/kimagure/items/f15bff4f33a63ba03877)\n* [How I wrote a hybrid Elm/Javascript Node.js application](http://qiita.com/kimagure/items/da2100328aa94a736559)\n* [Getting Started with Elm](https://medium.com/@diamondgfx/getting-started-with-elm-11d7a53b1a78#.xbf1ghjft)\n* [Understanding Elm: Signals, Mailboxes, Addresses, and Actions](https://medium.com/@diamondgfx/understanding-elm-signals-mailboxes-addresses-and-actions-7932781396ef#.tq036zcnr)\n* [Using Mailboxes in Elm](https://gist.github.com/mgold/461dbf37d4d34767e5da)\n* [Developing Games In Elm - Signals](http://gelatindesign.co.uk/developing-games-in-elm/signals)\n* [Signals in Elm](http://danielbachler.de/2016/02/12/signals-in-elm.html)\n* [Elm by Example: Soup to Nuts - Part 1](https://hashrocket.com/blog/posts/elm-by-example-soup-to-nuts-part-1)\n* [An Opening Example of Elm: building HTML by parsing parameters](http://blog.jessitron.com/2015/08/an-elm-example-reading-url-parameters.html)\n* [Real World Elm - Part 2 - Form Validation](http://engineering.truqu.com/2015/09/25/real-world-elm-part-2.html)\n* [Real World Elm - Part 1](http://engineering.truqu.com/2015/08/19/real-world-elm-part-1.html)\n* [Deconstructing Your First Elm App](https://yobriefca.se/blog/2015/08/02/deconstructing-your-first-elm-app)\n* [Introduction to FRP in Elm](https://www.classes.cs.uchicago.edu/archive/2015/winter/22300-1/lectures/IntroFRP.html)\n* [Tasks and Effects in Elm](http://danielbachler.de/2016/02/19/tasks-and-effects-in-elm.html)\n* [Elm Native UI: Writing a React Native app in Elm](http://ohanhi.github.io/elm-native-ui.html)\n* [Learn X in Y minutes - Where X=Elm](https://learnxinyminutes.com/docs/elm)\n* [A Concise Introduction to Elm](https://www.cis.upenn.edu/~matuszek/Concise%20Guides/Concise%20Elm.html)\n* [Elm by Example: Soup to Nuts - Part 1](https://hashrocket.com/blog/posts/elm-by-example-soup-to-nuts-part-1)\n* [Structured TodoMVC example with Elm](https://medium.com/@_rchaves_/structured-todomvc-example-with-elm-a68d87cd38da#.srxm7txdt)\n* [10 reasons why you should give Elm a try](https://medium.com/@tibastral/10-reasons-why-you-should-give-elm-a-try-62b56d305643#.np2phq2v9)\n* [Why Elm is Going to Change the World](https://medium.com/@dailydrip/why-elm-is-going-to-change-the-world-f5a6c693b2ca#.8hcwvohtp)\n* [Building A React/Redux/Elm Bridge](https://medium.com/javascript-inside/building-a-react-redux-elm-bridge-8f5b875a9b76#.h6rmwevj4)\n* [Elm for the Frontend, Right Now (Updated for Elm 0.18)](http://bendyworks.com/blog/elm-frontend-right-now-updated-for-0-18)\n\n---\n\n## Awesome\n\n* [Awesome Haskell - A curated list of awesome Haskell frameworks, libraries and software](https://github.com/uhub/awesome-haskell)\n* [Awesome Elm - A curated list of useful Elm tutorials, libraries and software. Inspired by awesome list](https://github.com/isRuslan/awesome-elm)\n* [Awesome F# - A curated list of awesome F# frameworks, libraries, software and resources](https://github.com/fsprojects/awesome-fsharp)\n* [Awesome Scala - A community driven list of useful Scala libraries, frameworks and software](https://github.com/lauris/awesome-scala)\n* [Awesome Haskell - A collection of awesome Haskell links, frameworks, libraries and software. Inspired by awesome projects line](https://github.com/krispo/awesome-haskell)\n* [Awesome PureScript - A curation of awesome PureScript libraries, resources and shiny things](https://github.com/passy/awesome-purescript)\n* [Awesome Functional Python - A curated list of awesome things related to functional programming in Python](https://github.com/sfermigier/awesome-functional-python)\n* [Awesome Coq - A curated list of awesome Coq frameworks, libraries and software](https://github.com/uhub/awesome-coq)\n* [Awesome Elixir - A curated list of amazingly awesome Elixir and Erlang libraries, resources and shiny things](https://github.com/h4cc/awesome-elixir)\n* [Awesome Clojure - A curated list of awesome Clojure libraries and resources](https://github.com/razum2um/awesome-clojure)\n\n___\n\n## Books\n\n* [Functional Reactive Programming](https://www.manning.com/books/functional-reactive-programming)\n* [Functional Programming in Java](https://www.manning.com/books/functional-programming-in-java)\n* [Functional Programming in C++](https://www.manning.com/books/functional-programming-in-cplusplus)\n* [Functional Programming in C#](https://www.manning.com/books/functional-programming-in-c-sharp)\n* [Functional Programming in Kotlin](https://www.manning.com/books/functional-programming-in-kotlin)\n* [Functional Concurrency in .NET](https://www.manning.com/books/functional-concurrency-in-dotnet)\n* [Elm in Action](https://www.manning.com/books/elm-in-action?a_aid=elm_in_action\u0026a_bid=b15edc5c)\n* [Mostly adequate guide to FP (in javascript)](https://github.com/MostlyAdequate/mostly-adequate-guide)\n* [Mostly adequate guide to FP (in javascript) - russian version](https://github.com/MostlyAdequate/mostly-adequate-guide-ru)\n* [Functional JavaScript](https://jcouyang.gitbooks.io/functional-javascript/content/en/index.html)\n* [Functional Javascript Workshop (console based tutorial)](https://github.com/timoxley/functional-javascript-workshop)\n* [Functional Programming in JavaScript - Dan Mantyla](https://www.amazon.com/Functional-Programming-JavaScript-Dan-Mantyla/dp/1784398225)\n* [Functional JavaScript: Introducing Functional Programming with Underscore.js - Michael Fogus](https://www.amazon.com/Functional-JavaScript-Introducing-Programming-Underscore-js/dp/1449360726/)\n* [A big list of books about functional programming](http://alexott.net/en/fp/books)\n* [PureScript by Example](https://leanpub.com/purescript/read)\n* [Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire](http://eprints.eemcs.utwente.nl/7281/01/db-utwente-40501F46.pdf)\n* [Lenses in Functional Programming](https://www21.in.tum.de/teaching/fp/SS15/papers/17.pdf)\n* [The Weird World of Bi-Directional Programming](https://www.cis.upenn.edu/~bcpierce/papers/lenses-etapsslides.pdf)\n* [Functional Programming in JavaScript](https://www.manning.com/books/functional-programming-in-javascript)\n* [Excerpt Funtional Programming JavaScript](http://cooperpress.s3.amazonaws.com/Excerpt_FPJavaScript.pdf)\n* [Elm tutorial book](http://www.elm-tutorial.org/index.html)\n* [Purescript Pux](http://www.alexmingoia.com/purescript-pux)\n* [The Neophyte's Guide to Scala](http://danielwestheide.com/scala/neophytes.html)\n* [Elm by Example - Grzegorz Balcerek](http://elm-by-example.org)\n* [Learn you a Haskell for great good! (A beginner's guide)](http://learnyouahaskell.com/)\n* [Learning Haskell](http://learn.hfm.io/)\n* [Programming with Refinement Types - An Introduction to LiquidHaskell](http://ucsd-progsys.github.io/liquidhaskell-tutorial/)\n* [learning Scalaz](http://eed3si9n.com/learning-scalaz/)\n* [Learn you some Erlang for great good!](http://learnyousomeerlang.com/)\n* [О Haskell по-человечески](https://www.ohaskell.guide/)\n* [F# for Fun and Profit eBook](https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/)\n* [An Introduction to Elm](http://guide.elm-lang.org/)\n* [A book about functional programming in JavaScript](https://github.com/getify/functional-light-js)\n* [Learn you an Agda](http://learnyouanagda.liamoc.net/toc.html)\n* [Learn F#](https://www.manning.com/books/learn-fsharp)\n* [The Transparent Web](https://manning.com/books/the-transparent-web)\n* [JavaScript Allongé, the \"Six\" Edition](https://leanpub.com/javascriptallongesix/read)\n* [Parallel Computing: Theory and Practice](http://www.cs.cmu.edu/afs/cs/academic/class/15210-f15/www/tapp.html)\n* [Haskell Tutorial and Cookbook](https://leanpub.com/haskell-cookbook/read)\n* [Розплутаний ClojureScript](https://lambdabooks.github.io/clojurescript-unraveled/)\n* [Get Programming with Haskell](https://www.manning.com/books/get-programming-with-haskell) \n* [Haskell in Depth](https://www.manning.com/books/haskell-in-depth) \n* [Grokking Simplicity: Taming complex software with functional thinking - Eric Normand](https://www.manning.com/books/grokking-simplicity)\n* [Functional Programming in Scala, Second Edition](https://www.manning.com/books/functional-programming-in-scala-second-edition)\n* [Functional Programming in C#, Second Edition](https://www.manning.com/books/functional-programming-in-c-sharp-second-edition)\n* [Grokking Functional Programming](https://www.manning.com/books/grokking-functional-programming)\n* [Functional Programming in Kotlin](https://www.manning.com/books/functional-programming-in-kotlin)\n* [Grokking Simplicity](https://www.manning.com/books/grokking-simplicity)\n* [Functional Programming, Simplified](https://alvinalexander.com/scala/functional-programming-simplified-book/)\n* [Clojure for the Brave and True](https://www.braveclojure.com/clojure-for-the-brave-and-true/)\n* [OCaml Programming: Correct + Efficient + Beautiful](https://cs3110.github.io/textbook/cover.html)\n\n---\n\n## Resources\n\n* [ML Dialects and Haskell: SML, OCaml, F#, Haskell](http://hyperpolyglot.org/ml)\n* [Haskell for OCaml programmers](http://science.raphael.poss.name/haskell-for-ocaml-programmers.html)\n* [Free monads](https://gist.github.com/safareli/b43f43d3e65483b71b08b894386f4d71)\n* [Functional Programming by Example](http://caiorss.github.io/Functional-Programming/) (***)\n* [Haskell by Example](https://lotz84.github.io/haskellbyexample/)\n* [http://chris-taylor.github.io](http://chris-taylor.github.io/)\n* [FPCasts - Your source for Functional Programing Related Podcasts](https://www.fpcasts.com/)\n* [Blog Jakub Arnold](http://blog.jakubarnold.cz/)\n* [Primers](https://jeremykun.com/primers/)\n* [Railway Oriented Programming](http://fsharpforfunandprofit.com/rop/)\n* [Материалы курсов по Clojure, бесплатно и онлайн](http://clojurecourse.by/)\n* [24 Days of PureScript](https://gist.github.com/paf31/8e9177b20ee920480fbc)\n* [Category Theory for Programmers: The Preface](https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/)\n* [The official supporting materials repository for LambdaConf 2015](https://github.com/degoes-consulting/lambdaconf-2015)\n* [The Glasgow Haskell Compiler. Simon Marlow and Simon Peyton-Jones](http://aosabook.org/en/ghc.html)\n* [diagrams is a powerful, flexible, declarative domain-specific language for creating vector graphics, using the Haskell programming language.](http://projects.haskell.org/diagrams/)\n* [24 Days of GHC Extensions](https://ocharles.org.uk/blog/pages/2014-12-01-24-days-of-ghc-extensions.html)\n* [https://rosettacode.org/wiki/Category:Haskell](https://rosettacode.org/wiki/Category:Haskell)\n* [Corecursion](https://en.wikipedia.org/wiki/Corecursion)\n* [Pointfree.io - convert Haskell code into pointfree Haskell code](http://pointfree.io/)\n* [Typeclassopedia](https://wiki.haskell.org/Typeclassopedia)\n* [Philip Wadler's home page](http://homepages.inf.ed.ac.uk/wadler/)\n* [Javascript Monad Transformers](http://akh-js.com/)\n* [Functor](https://en.wikipedia.org/wiki/Functor)\n* [http://fprog.ru](http://fprog.ru/)\n* [Scala Tour](http://www.scala-tour.com/#/welcome)\n* [An es6 js maybe monad, using generators](https://gist.github.com/torgeir/7618372)\n* [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](https://gist.github.com/hallettj/9827604)\n* [Free monad based thread simulation and FRP constructs written in JavaScript](https://gist.github.com/jkpl/9ef31e82dea59be2be7f)\n* [Code Samples Functional Programming in JavaScript, Manning 2016](https://github.com/luijar/functional-programming-js)\n* [Visual programming meets Haskell](https://github.com/viskell/viskell)\n* [Luna. Visual and textual functional programming language with a focus on productivity, collaboration and development ergonomics](http://www.luna-lang.org/)\n* [A curated list of awesome functional programming stuff in js](https://github.com/stoeffel/awesome-fp-js)\n* [Community driven Elm guide for JS people](https://github.com/elm-guides/elm-for-js)\n* [An overview of Elm syntax and features](https://github.com/izdi/elm-cheat-sheet)\n* [Conal Elliott blog](http://conal.net/blog)\n* [Brian Lonsdorf on medium](https://medium.com/@drboolean)\n* [Elm weekly](http://www.elmweekly.nl)\n* [Almost all about monads](https://flipboard.com/topic/monad)\n* [Notes, Thoughts, \u0026 Examples derived from reading Functional Javascript by Michael Fogus](https://github.com/hackerrdave/functional-javascript)\n* [Simple examples to help you understand ES6](https://github.com/sgaurav/understanding-es6)\n* [Functorial Blog - A blog about functional programming](http://blog.functorial.com/index.html)\n* [http://functionaljavascript.blogspot.com](http://functionaljavascript.blogspot.com)\n* [http://buzzdecafe.github.io](http://buzzdecafe.github.io)\n* [http://blog.codeprototype.com](http://blog.codeprototype.com)\n* [http://simplectic.com/blog](http://simplectic.com/blog)\n* [http://joneshf.github.io](http://joneshf.github.io)\n* [http://www.luisatencio.net](http://www.luisatencio.net)\n* [http://bartoszmilewski.com](http://bartoszmilewski.com)\n* [http://rebcabin.github.io](http://rebcabin.github.io)\n* [http://blog.jakubarnold.cz](http://blog.jakubarnold.cz/)\n* [https://juxt.pro/radar.html - The 2016 JUXT Clojure Technology Radar](https://juxt.pro/radar.html)\n* [http://clojurewerkz.org - A growing collection of open source Clojure libraries](http://clojurewerkz.org)\n* [http://www.parsonsmatt.org - Elm, Haskell, Purescript](http://www.parsonsmatt.org)\n* [Lo-Fi Learning - Advanced topics from our blackboard to your screen](http://school.looprecur.com)\n* [FunctionalTalks.org - Brilliant people giving brilliant talks on Functional Programming.](http://functionaltalks.org)\n* [functional-javascript-workshop - a functional javascript workshop. No libraries required (i.e. no underscore), just ES5](https://github.com/timoxley/functional-javascript-workshop)\n* [gist of functional utils which written on ES6](https://gist.github.com/bendc/9b05735dfa6966859025)\n* [Answers to the exercises from https://github.com/MostlyAdequate/mostly-adequate-guide](https://github.com/gypsydave5/mostly-adequate-functional-answers)\n* [Introduction to Functional Programming (course from edx.org)](https://www.edx.org/course/introduction-functional-programming-delftx-fp101x-0)\n* [functional-programming-jargon - Jargon from the functional programming world in simple terms](https://github.com/hemanth/functional-programming-jargon)\n* [Category theory jargon cheat sheet](https://gist.github.com/cb372/b1bad150e0c412fb7364)\n* [js-funcional - A Cookbook for writing FP in JavaScript using ES6](https://github.com/js-functional/js-funcional)\n* [functional-frontend-architecture - A functional frontend framework.](https://github.com/paldepind/functional-frontend-architecture)\n* [A book series on JavaScript](https://github.com/getify/You-Dont-Know-JS)\n* [FP101x - Functional Programming MOOC 2015 Content Repository](https://github.com/fptudelft/FP101x-Content-2015)\n* [Functional Programming in Javascript (Online tutorial)](http://reactivex.io/learnrx)\n* [A list of functional javascript resources](https://github.com/jkup/functional-javascript)\n* [Contravariance is the Dual of Covariance](http://www.infoq.com/presentations/covariance-contravariance-joy-of-coding-2014)\n* [Functional Programming concepts, examples and patterns illustrated in Haskell, Ocaml and Python](https://github.com/caiorss/Functional-Programming)\n* [A puzzle game written on purescript](https://github.com/sharkdp/cube-composer)\n* [Total functional programming (ESFP)](https://github.com/mietek/total-functional-programming)\n* [Code, exercises, answers, and hints to go along with the book \"Functional Programming in Scala\"](https://github.com/fpinscala/fpinscala)\n* [Functional programming (page on wiki of Haskell)](https://wiki.haskell.org/Functional_programming)\n* [Category Theory Presentation](http://yannesposito.com/Scratch/en/blog/Category-Theory-Presentation)\n* [A Guide to Functional Programming Lingo for JavaScripters](https://gist.github.com/ericelliott/ea925c58410f0ae74aef)\n* [Haskell monads for learning purposes in javascript](https://github.com/raimohanska/Monads)\n* [Cheat sheet for Monads in Haskell](https://dkalemis.wordpress.com/2014/08/02/cheat-sheet-for-monads-in-haskell)\n* [Monad](https://wiki.haskell.org/Monad)\n* [Monad (in computer science)](http://ncatlab.org/nlab/show/monad+(in+computer+science))\n* [The Indexed Continuation Monad in Haskell, Scala, and C#](https://gist.github.com/pthariensflame/5716594)\n* [Informatics 1: Functional Programming](https://www.inf.ed.ac.uk/teaching/courses/inf1/fp)\n* [Source code for blog post Journey from procedural to reactive JavaScript with stops](https://github.com/bahmutov/javascript-journey)\n* [Functional Programming in Javascript (online exercises)](http://reactivex.io/learnrx)\n* [Category Theory for Programmers: The Preface](http://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface)\n* [Building a modern functional compiler from first principles](https://github.com/sdiehl/write-you-a-haskell)\n* [Archive the best resources surrounding the functional programming paradigm for Javascript developers](https://github.com/radiovisual/functional-programming-resources)\n* [Ramtuary REPL](http://davidchase.github.io/ramtuary)\n* [Haskell for Maths](http://haskellformaths.blogspot.com)\n* [Y combinator](http://rosettacode.org/wiki/Y_combinator)\n* [A collection about Functional Reactive Programming in Swift](https://github.com/onmyway133/functional-swift)\n* [Patterns in Functional Programming](https://patternsinfp.wordpress.com)\n* [What I Wish I Knew When Learning Haskell](http://dev.stephendiehl.com/hask)\n* [Learn Haskell](https://github.com/bitemyapp/learnhaskell)\n* [Awesome Haskell](https://github.com/krispo/awesome-haskell)\n* [Введение в функциональное программирование на скале](http://www.otstavnov.com/Odersky_Scala_lecture-notes.html)\n* [Monoidal Contravariant Functors and Transducers](https://gist.github.com/DrBoolean/fdef9e08352ac42754f1)\n* [Functional Programming Resources In JavaScript](https://github.com/busypeoples/functional-programming-javascript)\n* [Unofficial a documentation of lodash-fp](https://gist.github.com/jfmengels/6b973b69c491375117dc#_castarrayvalue)\n* [Collection of examples on places where Elm is different to Haskell](https://github.com/eeue56/haskell-to-elm)\n* [Kickstart your web development with Elm](https://github.com/eeue56/elm-for-web-developers)\n* [Explorations in Functional Land](https://github.com/svenschmidt75/Functional)\n* [Coeffects: Context-aware programming languages](http://tomasp.net/coeffects/)\n* [Formalization of the Dependent Object Types (DOT) calculus](https://github.com/samuelgruetter/dot-calculus)\n* [Dependent Object Types (DOT)](https://github.com/namin/dot)\n* [Neon - Experimental PureScript standard library](https://gist.github.com/tfausak/96411fd7400aa06478675c7e6c75ebd4)\n* [JS-monads-stable](https://github.com/dschalk/JS-monads-stable)\n* [Pragmatic functional programming in JavaScript - Workshop material](https://github.com/staltz/fp-js-workshop)\n* [cor - The Language of the Web](https://github.com/yosbelms/cor)\n* [djinn - Generate Haskell code from a type](https://github.com/augustss/djinn)\n* [forwardcourses about functional programming](https://forwardcourses.com/lectures/track/fp)\n* [λ List of resources related to Functional Programming in JS](https://github.com/codekult/adventures-of-lambda-in-JS)\n* [Monad tutorials timeline](https://wiki.haskell.org/Monad_tutorials_timeline)\n* [JSON to Elm](http://eeue56.github.io/json-to-elm/)\n* [functionalcs.github.io](https://functionalcs.github.io/curriculum)\n* [Haskell MOOC](https://haskell.mooc.fi/)\n* [A Functional Introduction To Computer Science (Part I)](https://cs.uwaterloo.ca/~plragde/flaneries/FICS/)\n* [A Functional Introduction To Computer Science (Part II)](https://cs.uwaterloo.ca/~plragde/flaneries/FICS2/)\n\n---\n\n### Combinators\n\n* [To Dissect a Mockingbird: A Graphical Notation for the Lambda Calculus with Animated Reduction](http://dkeenan.com/Lambda/index.htm)\n* [Combinator Birds](http://www.angelfire.com/tx4/cus/combinator/birds.html)\n* [Deriving the Y Combinator in 7 Easy Steps](http://igstan.ro/posts/2010-12-01-deriving-the-y-combinator-in-7-easy-steps.html)\n* [B, C, K, W system](https://en.wikipedia.org/wiki/B,_C,_K,_W_system)\n* [Комбинаторы — это просто!](https://ru.wikibooks.org/wiki/%D0%9A%D0%BE%D0%BC%D0%B1%D0%B8%D0%BD%D0%B0%D1%82%D0%BE%D1%80%D1%8B_%E2%80%94_%D1%8D%D1%82%D0%BE_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE!)\n* [Комбинаторная логика как формальная система](http://www.ict.edu.ru/ft/005135/ch5.pdf)\n* [combinators-js](https://www.npmjs.com/package/combinators-js)\n* [SKI combinator calculus](https://en.wikipedia.org/wiki/SKI_combinator_calculus)\n* [Combinators](https://gist.github.com/Avaq/1f0636ec5c8d6aed2e45)\n* [Fixed-point combinator](https://en.wikipedia.org/wiki/Fixed-point_combinator)\n* [Combinatory logic](https://en.wikipedia.org/wiki/Combinatory_logic)\n* [Collected Lambda Calculus Functions](http://jwodder.freeshell.org/lambda.html)\n* [Combinatory Logic](http://plato.stanford.edu/entries/logic-combinatory/) (*)\n* [Combinatory Logic: Finding and Evaluating Combinators](https://www.npmjs.com/package/combilog)\n* [Maths - Combinatory Logic](http://www.euclideanspace.com/maths/discrete/logic/combinatory/index.htm)\n* [Lambda Calculus](http://softoption.us/content/node/30)\n* [From Lambda calculus to Combinator Calculus](http://goodmath.blogspot.com/2006/05/from-lambda-calculus-to-combinator.html)\n* [The SKI Combinator Calculus a universal formal system](http://people.cs.uchicago.edu/~odonnell/Teacher/Lectures/Formal_Organization_of_Knowledge/Examples/combinator_calculus/)\n* [Lambda Calculus](http://dev.stephendiehl.com/fun/lambda_calculus.html)\n* [Combinatory logic](https://esolangs.org/wiki/Combinatory_logic)\n* [The Y Combinator (no, not that one). A crash-course on lambda calculus](https://medium.com/@ayanonagon/the-y-combinator-no-not-that-one-7268d8d9c46#.eigwi23hd)\n* [The Quantum Electrodynamics of Functional JavaScript](http://raganwald.com/2015/02/13/functional-quantum-electrodynamics.html)\n* [Applicative Functor / SKI combinator calculus](https://gist.github.com/tinybyte/3302086)\n\n---\n\n## Presentations\n\n* [Awesomely descriptive JavaScript with monads](https://docs.google.com/presentation/d/12GpX3AXTS6uJHqRK_Q3RgkIg9ZTr4r37N0MTkk0CL14/edit#slide=id.p)\n* [Functional Programming from Brian Lonsdorf (awesome presentation)](https://docs.google.com/presentation/d/1YOJ2hU60KcXJ3m3CG28EtfTO4t1OP_JR0gpM82i2xcI/edit#slide=id.g338d117be_040)\n* [Functional Programming Patterns](http://www.slideshare.net/ScottWlaschin/fp-patterns-buildstufflt) (must have)\n* [Domain Modeling in a Functional World](http://www.slideshare.net/debasishg/qconny-12)\n* [Functional Programming in JavaScript](http://www.slideshare.net/LuisAtencio3/functional-programming-in-javascript-by-luis-atencio)\n* [ECMAScript 6 Quiz](http://maxwellito.github.io/es6-quiz-slides)\n* [Functional Programming from Scott Sauyet](http://scott.sauyet.com/Javascript/Talk/FunctionalProgramming)\n* [FKit: Everyday Functional Programming in JavaScript](https://speakerdeck.com/nullobject/fkit-everyday-functional-programming-in-javascript)\n* [Ramda: Practical Functional Javascript](http://slides.com/andydrew/ramda-js-curry-compose)\n* [Category theory, Monads, and Duality in the world of (BIG) Data](http://www.slideshare.net/greenwop/category-theory-monads-and-duality-in-the-world-of-big-data)\n* [Functional Programming in 5 Minutes](http://slides.com/gsklee/functional-programming-in-5-minutes)\n* [Introduction to Functional Programming](http://slides.com/jingchuanchen/intro-to-fp)\n* [Monads](http://slides.com/aripaasonen/monads)\n* [Pragmatic Functional Programming](http://slides.com/rossmurray/pragmatic-functional-programming)\n* [Intro to Functional Programming](http://www.slideshare.net/firthh/intro-to-functional-programming-levelup-brisbane)\n* [Who's More Functional: Kotlin, Groovy, Scala, or Java?](http://www.slideshare.net/abreslav/whos-more-functional-kotlin-groovy-scala-or-java)\n* [Introduction to Functional Programming in JavaScript](http://www.slideshare.net/tmont/introduction-to-functional-programming-in-javascript)\n* [Category Theory: An Abstraction for Anything](http://www.infoq.com/presentations/category-theory)\n* [Немного о функциональном программирование в JavaScript](http://pt.slideshare.net/fwdays/javascript-47497140)\n* [Category theory for beginners](http://www.slideshare.net/kenbot/category-theory-for-beginners)\n* [Getting Started with PureScript by Michael Ficarra](https://speakerdeck.com/michaelficarra/getting-started-with-purescript)\n* [Functional Programming Forever](http://slides.com/thomasomans/functional-programming-forever#/)\n* [Why Haskell?](http://slides.com/etrepum/preview-intro-to-haskell)\n* [PureScript](https://docs.google.com/presentation/d/1IOM9A3Otxufs5xzvYb3yPrT7JDVPhkJVkdaWvVl8R_E/pub?start=false\u0026loop=false\u0026delayms=3000\u0026slide=id.ge5fcfef40_0_5)\n* [Анонимные записи в Haskell](http://www.slideshare.net/cblpsu/3-anonymous-records)\n* [Better know a language PureScript](http://taylor.fausak.me/static/pages/2015-10-22-better-know-a-language-purescript.html)\n* [Functional Patterns in JavaScript](http://slides.com/hackbulgaria/functional-patterns-in-javascript#/)\n* [Collections libraries in JavaScript](http://slides.com/sashqa/deck#/)\n* [Transducers - Reducing complexity with reducers](http://slides.com/plaid/deck#/)\n* [Remove the Boilerplate](http://slides.com/bahmutov/remove-the-boilerplate#/)\n* [Functional Programming. Patterns in Scala](http://jsuereth.com/intro-to-fp/preso.html)\n* [Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concurrency, and Big Data](http://www.slideshare.net/chris.e.richardson/map-flatmap-and-reduce-are-your-new-best-friends-simpler-collections-concurrency-and-big-data-oscon)\n* [Functional Programming in JavaScript by Luis Atencio](http://www.slideshare.net/LuisAtencio3/functional-programming-in-javascript-by-luis-atencio)\n* [CodeMash: Functional Programming Basics in ES6](https://speakerdeck.com/jfairbank/codemash-functional-programming-basics-in-es6)\n* [Fluent Conf: Rise of Async JavaScript ](https://speakerdeck.com/jfairbank/fluent-conf-rise-of-async-javascript)\n* [Монады для барабанщиков](http://www.slideshare.net/cblpsu/ss-60053562)\n* [Building Functional Islands by Mark Jones](https://speakerdeck.com/thisismarkup/building-functional-islands)\n* [Reactive UIs with Halogen](https://docs.google.com/presentation/d/1uwKxJzNx8pBL2QCUKYy2mgkEbrCdEjKbYOj3mJ4nyEo/edit#slide=id.g775150948_0_41)\n* [Fun* JavaScript Workshop - Dr. Gleb Bahmutov PhD](http://slides.com/bahmutov/fun-javascript-workshop#/)\n* [TYPESAFE SQL IN HASKELL - AN INTRODUCTION TO OPALEYE](http://opaleye.benkolera.com/#/)\n* [Playing with Graphics and Animations in Haskell by Manuel Chakravarty](https://speakerdeck.com/mchakravarty/playing-with-graphics-and-animations-in-haskell)\n* [Practically workshop](https://www.slideshare.net/secret/3IPPDiGR2QXNEz)\n\n---\n\n## Videos\n\n* [Jason Ganetsky on Making a Fast Curry: Push/Enter vs. Eval/Apply for Higher-order Languages](http://paperswelove.org/2015/video/jason-ganetsky-fast-curry)\n* [Erik Meijer: Functional Programming](https://www.youtube.com/watch?v=z0N1aZ6SnBk)\n* [Lambda Days 2015 - Kuba Waliński - Fun with Functional JavaScript](https://www.youtube.com/watch?v=WY3q6Np7PwM)\n* [Functional Programming with Kotlin](https://www.youtube.com/watch?v=AhA-Q7MOre0\u0026list=WL\u0026index=63)\n* [Category theory for JavaScript programmers](https://www.youtube.com/playlist?list=PLwuUlC2HlHGe7vmItFmrdBLn6p0AS8ALX)\n* [\"Everything Old is New Again: Quoted Domain Specific Languages\" by Philip Wadler](https://www.youtube.com/watch?v=DlBwJ4rvz5c)\n* [Classroom Coding with Prof. Frisby](https://www.youtube.com/watch?v=h_tkIpwbsxY\u0026list=PLK_hdtAJ4KqX0JOs_KMAmUNTNMRYhWEaC)\n* [FP-Syd - PureScript: An Overview for Haskellers by Tim Docker (Jul 2015)](https://www.youtube.com/watch?v=udg01o2M4iY)\n* [Intro to PureScript -- Utah Haskell Meetup](https://www.youtube.com/watch?v=9a57V3bvzaI)\n* [Haskell Programming Tutorial](https://www.youtube.com/watch?v=Sinr-kVzsLI\u0026list=PLa8a_8vztYc4Y5HPptfBhLNZxNgCkWEOr)\n* [Monad a day 1: Reader](https://vimeo.com/105300347)\n* [Monad a day 2: Future](https://vimeo.com/106008027)\n* [Monad a day 3: State](https://vimeo.com/109984691)\n* [Lenses Quick n’ Dirty](https://vimeo.com/104807358)\n* [Frontend Masters Workshop finish up](https://vimeo.com/97575933)\n* [Professor Frisby Introduces Composable Functional JavaScript](https://egghead.io/courses/professor-frisby-introduces-function-composition)\n* [A Million Ways to Fold in JS](https://www.youtube.com/watch?v=JZSoPZUoR58)\n* [Coyoneda in Javascript](https://www.youtube.com/watch?v=WH5BrkzGgQY)\n* [Freer Monad (We define Maybe and IO in the freer monad)](https://www.youtube.com/watch?v=RkDtMeZXMTA)\n* [Free(er) Monads in JS pt 2 (Defining an interpreter for multiple natural transformations)](https://www.youtube.com/watch?v=KFCEJUjsdQg)\n* [What is pure functional programming, and how it can improve our application testing? by Luca Molteni](https://www.youtube.com/watch?v=dOJPDH4461k)\n* [Start Using Elm to Build Web Applications](https://egghead.io/courses/start-using-elm-to-build-web-applications)\n* [How to Create Tetris in Elm](https://www.youtube.com/watch?v=GMSXYnMH1gg\u0026list=PL7C8fMD-89DKhlerIE3BrYNd0PlhA6Zch)\n* [Scott Wlaschin - Railway Oriented Programming — error handling in functional languages](https://vimeo.com/97344498)\n* [Lambda Jam 2014 - Eric Meijer - The Lost Art of Denotational Semantics](https://www.youtube.com/watch?v=pOl4E8x3fmw)\n* [SKI School: The Combinator Calculus Demystified](https://www.youtube.com/watch?v=FC6kl_kLFEo)\n* [Erik Meijer - Functional Programming From First Principles](https://www.youtube.com/watch?v=mhKl7Ppp_ao)\n* [Russian videos about clojure and clojurescript](https://www.youtube.com/watch?v=jguG9rwa6oo\u0026list=PLHOTezm7WWkmk_NxC51xwnC2YsAut_5vX)\n* [Parallel and Concurrent Haskell](https://www.youtube.com/watch?v=N6sOMGYsvFA\u0026list=PLbgaMIhjbmEm_51-HWv9BQUXcmHYtl4sw)\n* [Functional programming patterns for the non-mathematician (cut)](https://www.youtube.com/watch?v=AvgwKjTPMmM)\n* [Brian Beckman: Don't fear the Monad](https://www.youtube.com/watch?v=ZhuHCtR3xq8)\n* [Brian Beckman: The Zen of Stateless State - The State Monad](https://www.youtube.com/watch?v=XxzzJiXHOJs)\n* [Monads and Gonads](https://www.youtube.com/watch?v=b0EF0VTs9Dc)\n* [Haskell Tutorial](https://www.youtube.com/watch?v=02_H3LjqMr8)\n* [YOW! Lambda Jam 2016 Conor McBride - What are Types for, or are they only Against?](https://www.youtube.com/watch?v=3U3lV5VPmOU)\n* [Phil Freeman - Fun with Profunctors](https://www.youtube.com/watch?v=OJtGECfksds)\n* [Monads, Monoids and Composition w/ Functional JavaScript](https://www.youtube.com/watch?v=ZQSU4geXAxM)\n* [«PureScript livecoding» by Dmirti Bushenko](https://www.youtube.com/watch?v=Sc3ci8j7Wok\u0026list=PLtAOYbbqpTmxg5fTJK7e8ZXdGzYLROsRm\u0026index=11)\n* [Learning Functional Programming with JavaScript by Anjana Vakil at JSUnconf 2016](https://www.youtube.com/watch?v=e-5obm1G_FY)\n* [Elm in Purescript](https://www.youtube.com/watch?v=O_kWwaghZ9U)\n* [Pure Functional Database Programming with Fixpoint Types—Rob Norris](https://www.youtube.com/watch?v=7xSfLPD6tiQ)\n* [Functional JS - Lenses - JavaScript](https://www.livecoding.tv/evilsoft/videos/d5BDO-functional-js-lenses)\n* [\"Point-Free or Die: Tacit Programming in Haskell and Beyond\" by Amar Shah](https://www.youtube.com/watch?v=seVSlKazsNk)\n* [The fuel for the Functional Programming engine](https://youtu.be/3G9wOODP7y4) - Michal Plachta\n* [Functional Programming with TypeScript](https://www.youtube.com/playlist?list=PLuPevXgCPUIMbCxBEnc1dNwboH6e2ImQo) \n\n---\n\n## Youtube channels\n\n* [Functional Works](https://www.youtube.com/channel/UCE6NivlVPGUn3TMtDAeL2vQ)\n* [Scala World](https://www.youtube.com/channel/UCc0j7uOItUDh7vEvPb-TeCg)\n* [ruHaskell](https://www.youtube.com/channel/UCbIkFj1mYQI7lmrc5BXGyAg)\n* [Brian Lonsdorf](https://www.youtube.com/channel/UCKjVLbSDoM-8-eEM7A30igA)\n* [jasonofthel33t](https://www.youtube.com/user/jasonofthel33t)\n* [Лекториум](https://www.youtube.com/user/OpenLektorium)\n* [Scala Russia](https://www.youtube.com/channel/UCR4iuvbk9DCuieR1ADIi0-Q)\n* [Manning Publications](https://www.youtube.com/channel/UCDia_lkNYKLJVLRLQl_-pFw)\n* [Web Village Voyage](https://www.youtube.com/@webvv)\n\n---\n\n## Libraries\n\n### [Javascript](https://developer.mozilla.org/en-US/docs/Web/JavaScript)\n\n***\n* [**Lodash** - A JavaScript utility library delivering consistency, modularity, performance, \u0026 extras](https://lodash.com)\n* [**Ramda** - A practical functional library for Javascript programmers](http://ramdajs.com)\n* [**functional.js** - The functional JavaScript library](http://functionaljs.com)\n* [**fantasy-land** - Specification for interoperability of common algebraic structures in JavaScript](https://github.com/fantasyland/fantasy-land)\n* [**Crocks - A collection of well known Monadic Containers for your utter enjoyment.**](https://github.com/evilsoft/crocks)\n* [**wu.js** - is a JavaScript library providing higher order functions (such as map, filter, and reduce) for ECMAScript 6 iterators](http://fitzgen.github.io/wu.js)\n* [**pointfree-fantasy** - Point free wrappers for fantasy land](https://github.com/DrBoolean/pointfree-fantasy)\n* [**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](http://folktalejs.org)\n* [**fn.js** - A JavaScript library built to encourage a functional programming style \u0026 strategy](http://eliperelman.com/fn.js)\n* [**bilby.js** - is a serious functional programming library](http://bilby.brianmckenna.org)\n* [**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](http://danieltao.com/lazy.js)\n* [**monet.js** - Monadic types library for JavaScript](http://cwmyers.github.com/monet.js)\n* [**lamb** - A lightweight, and docile, JavaScript (ES5) library to help embracing functional programming](http://ascartabelli.github.io/lamb)\n* [**sanctuary** - Refuge from unsafe JavaScript](https://github.com/plaid/sanctuary) [official site](http://sanctuary.js.org)\n* [**trine** - A utility library for modern JavaScript](https://github.com/jussi-kalliokoski/trine)\n* [**lodash-fp** - lodash with auto-curried iteratee-first data-last methods](https://github.com/lodash/lodash-fp)\n* [**alicates** - Small library for functional programming with ES2015+](https://github.com/gonzaloruizdevilla/alicates)\n* [**creed** - Sophisticated and functionally-minded async with advanced features: coroutines, promises, ES2015 iterables, fantasy-land](https://github.com/briancavalier/creed)\n* [**js-csp** - Communicating sequential processes for Javascript (like Clojurescript core.async, or Go)](https://github.com/ubolonton/js-csp)\n* [**transducers-js** - A high performance Transducers implementation for JavaScript](https://github.com/cognitect-labs/transducers-js)\n* [**transducers.js** - A small library for generalized transformation of data (inspired by Clojure's transducers)](https://github.com/jlongster/transducers.js)\n* [**csp** - CSP/Actor/Transducer Experiments](https://github.com/phuu/csp)\n* [**underarm** - Transducers Inspired by Underscore](https://github.com/kevinbeaty/underarm)\n* [**transduce** - JavaScript transducers](https://github.com/transduce/transduce)\n* [**fkit** - A functional programming toolkit for JavaScript](https://github.com/nullobject/fkit)\n* [**contra** - Asynchronous flow control with a functional taste to it](https://github.com/bevacqua/contra)\n* [**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](https://github.com/suguru03/neo-async)\n* [**async** - Async utilities for node and the browser](https://github.com/caolan/async)\n* [**nimble** - A really tiny functional JavaScript and async flow-control library](https://github.com/caolan/nimble)\n* [**udon** - Practical functional programming in JavaScript](https://github.com/beastaugh/udon)\n* [**culljs** - Functional javascript for adults - no cushions included](https://github.com/culljs/culljs)\n* [**it.js** - Chainable object-oriented functional combinators](https://github.com/dtinth/it.js)\n* [**linq** - linq.js - LINQ for JavaScript library](https://github.com/mihaifm/linq)\n* [**Sugar** - A Javascript library for working with native objects](https://github.com/andrewplummer/Sugar)\n* [**cat.js** - Category Theory for JavaScript](https://github.com/jcouyang/cat.js)\n* [**f** - Implementing native versions of Haskell functions according to JavaScript ES6 standards](https://github.com/casualjs/f)\n* [**este** - Dev stack and starter kit for functional and universal React web apps](https://github.com/este/este)\n* [**Slack** - Lazy functional JS library](https://github.com/loosechainsaw/Slack)\n* [**nux** - A Push-Based Functional Reactive UI Library for the Web](https://github.com/marknutter/nux)\n* [**ftoer** - A pragmatic library facilitating functional programming in javascript](https://github.com/ftoer/ftoer)\n* [**fops** - Curried, functional operators](https://github.com/nickb1080/fops)\n* [**nodent** - Asynchronous Javascript language extensions](https://github.com/MatAtBread/nodent)\n* [**funkit** - Functional toolkit for javascript](https://github.com/mwardle/funkit)\n* [**funko** - Naive minimalistic functional programming library](https://github.com/mickvangelderen/funko)\n* [**fantasy-lenses** - Composable, immutable getters and setters](https://github.com/fantasyland/fantasy-lenses)\n* [**chunkify** - A functional API to unblock your JavaScript](https://github.com/yangmillstheory/chunkify)\n* [**co-functional** - co-functional is a MIT licenced library that provides several functions for use with the co library](https://github.com/N0ps32/co-functional)\n* [**redash** - Compact library for writing performant functional JavaScript](https://github.com/davezuko/redash)\n* [**iterablejs** - Lazy-loading wrapper for iterable items and common functional programming operations](https://github.com/dvlsg/iterablejs)\n* [**async-csp** - CSP style channels using ES7 async/await](https://github.com/dvlsg/async-csp)\n* [**conjs** - a featured fork of mori, with core.async included](https://github.com/jcouyang/conjs)\n* [**switch-fn** - Write a functional switch statement](https://github.com/ajoslin/switch-fn)\n* [**asyncawait** - Callback heaven for Node.js with async/await](https://github.com/yortus/asyncawait)\n* [**kneden** - Transpile ES7 async/await to vanilla ES6 Promise chains: a Babel plugin](https://github.com/marten-de-vries/kneden)\n* [**asyncbox** - A collection of ES7 async/await utilities](https://github.com/jlipps/asyncbox)\n* [**medium** - CSP-style channel library using ES7 async/await keywords](https://github.com/bbarr/medium)\n* [**prelude** - Base functional programming utils for mostjs packages](https://github.com/mostjs/prelude)\n* [**fantasy-birds** - port of the haskell package Data.Aviary.Birds. Every thing for your combinatory needs](https://github.com/fantasyland/fantasy-birds)\n* [**scour** - Traverse objects and arrays with ease](https://github.com/rstacruz/scour)\n* [**monad-transformers** - Practical monad transformers for JS](https://github.com/boris-marinov/monad-transformers)\n* [**lazy-either** - A lazy implementation of the Fantasy Land Either type](https://github.com/Risto-Stevcev/lazy-either)\n* [**parallel-future** - Run Futures in parallel](https://github.com/futurize/parallel-future)\n* [**futurize** - Turn callback-style functions or promises into futures](https://github.com/futurize/futurize)\n* [**daggy** - Library for creating tagged constructors](https://github.com/puffnfresh/daggy)\n* [**barely-functional** - tiny (2.7kb) functional programming library using native es5/6 operations](https://github.com/cullophid/barely-functional)\n* [**fantasydo** - Do-notation for javascript fantasy land](https://github.com/russellmcc/fantasydo)\n* [**linq.ts** - LinQ for TypeScript](https://github.com/kutyel/linq.ts)\n* [**Fluture** - A complete Fantasy Land compatible Future library](https://github.com/Avaq/Fluture)\n* [**1-liners** - Functional tools that couldn’t be simpler](https://github.com/1-liners/1-liners)\n* [**immutable-ext** - fantasyland extensions for immutablejs](https://github.com/DrBoolean/immutable-ext)\n* [**optics** - This library is an implementation of profunctor optics using JS, heavily influenced by the PureScript Profunctor Lenses and Kmett's Lens libraries.](https://github.com/flunc/optics)\n* [**monady** - Composable monads for functional async flow](https://github.com/GeorgeSapkin/monady)\n* [**pure-random** - A purely functional random number generator](https://github.com/Risto-Stevcev/pure-random)\n* [**kewler** - Simple functional and immutable color manipulation library](https://github.com/adriantoine/kewler)\n* [**static-land** - Specification for common algebraic types in JavaScript based on Fantasy Land](https://github.com/rpominov/static-land)\n* [**Idealist** - Functional HTTP micro-framework](https://github.com/Avaq/Idealist)\n* [**cali** - A JavaScript utility library with a functional programming flavor](https://github.com/jedirandy/cali)\n* [**union-type** - A small JavaScript library for defining and using union types](https://github.com/paldepind/union-type)\n* [**fantasy-frees** - Free monads](https://github.com/fantasyland/fantasy-frees)\n* [**ramda-fantasy** - Fantasy-Land compatible types for easy integration with Ramda.js](https://github.com/ramda/ramda-fantasy)\n* [**fantasy-derivations** - Use methods on ADTs whether or not they're defined](https://github.com/rjmk/fantasy-derivations)\n* [**fantasy-do** - Do notation for javascript](https://github.com/jwoudenberg/fantasy-do)\n* [**future-io** - A fantasy-land compliant monadic IO library for Node.js.](https://github.com/futurize/future-io)\n* [**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](https://github.com/PandaNoir/List-in-JS/)\n* [**doM.js** - \"do\" monad syntax for JavaScript](https://github.com/elclanrs/doM.js)\n* [**do-notation** - Do notation for Fantasy Land monad types](https://github.com/Risto-Stevcev/do-notation)\n* [**burrido** - Do-notation for JavaScript](https://github.com/pelotom/burrido)\n* [**monadic** - Do-notation and Monads for JavaScript](https://github.com/five-eleven/monadic)\n* [**async-ls** - Higher order functions, compositions and common operations for asynchronous programming in LiveScript](https://github.com/homam/async-ls)\n* [**florida** - Pure functional accessor factories in js](https://github.com/Hypercubed/florida)\n* [**mandolin** - Painlessly enhance your JavaScript with monadic types](https://github.com/bioball/mandolin)\n* [**operajonal** - Implementation of free monads in JavaScript, based on Haskell's operational package](https://github.com/phipsgabler/operajonal)\n* [**free** - Combination of a free applicative functor and free monad](https://github.com/safareli/free)\n* [**freeky** - Free monad Collection](https://github.com/DrBoolean/freeky)\n* [**immutagen** - A library for simulating immutable generators in JavaScript](https://github.com/pelotom/immutagen)\n* [**gentoo** - Tools for ES6 generators](https://github.com/sashee/gentoo)\n* [**TsMonad** - Little monad library designed for TypeScript](https://github.com/cbowdon/TsMonad)\n* [**jabz** - Powerful and practical abstractions for JavaScript and TypeScript. Functors, Monads, Traversables and all that jazz](https://github.com/paldepind/jabz)\n* [**async-to-gen** - Transform async functions to generator functions with speed and simplicity](https://github.com/leebyron/async-to-gen)\n* [**imlazy** - Functional, declarative, immutable and lazy as you like](https://github.com/benji6/imlazy)\n* [**partial.lenses** - Partial lenses is a comprehensive, high-performance optics library for JavaScript](https://github.com/calmm-js/partial.lenses)\n* [**ramda-lens** - Lens library built on ramda](https://github.com/ramda/ramda-lens)\n* [**lenses** - Composable kmett style lenses](https://github.com/DrBoolean/lenses)\n* [**streamjs** - Lazy Object Streaming Pipeline for JavaScript](https://github.com/winterbe/streamjs)\n* [**chained-promise** - Functional programming tools for recurring promises](https://github.com/google/chained-promise)\n* [**maryamyriameliamurphies.js** - A library of Haskell-style morphisms ported to ES2015 JavaScript using Babel](https://github.com/sjsyrek/maryamyriameliamurphies.js)\n* [**asyncp** - Port of the async library to use Promises](https://github.com/jgornick/asyncp)\n* [**flow-static-land** - Implementation of common algebraic types in JavaScript + Flow](https://github.com/gcanti/flow-static-land)\n* [**tiny-tuple** - Tiny Tuple library for Client or Server](https://github.com/avoidwork/tiny-tuple)\n* [**adt.js** - Algebraic data types for Javascript](https://github.com/natefaubion/adt.js)\n* [**fantasy-states** - State control structure](https://github.com/fantasyland/fantasy-states)\n* [**akh-cont** - Akh continuation monad and monad transformer](https://github.com/mattbierner/akh-cont)\n* [**sanctuary-type-classes** - Standard library for Fantasy Land](https://github.com/sanctuary-js/sanctuary-type-classes)\n* [**ez-dom** - Functional library to manipulate the DOM](https://github.com/jonathandion/ez-dom)\n* [**purify** - Functional programming library for TypeScript focusing on ADTs](https://github.com/gigobyte/purify)\n* [**QIO** - Purely functional effect management library for Typescript.](https://qio.netlify.com)\n\n### [Livescript](https://github.com/gkz/LiveScript)\n\n***\n* [**prelude.ls** - is a functionally oriented utility library](http://www.preludels.com)\n* [**monolith-ls** - Experimental fork of `prelude-ls`, gives a more functional feel to prelude.](https://github.com/masterrace/monolith-ls)\n\n### [Java](http://www.oracle.com/technetwork/java/index.html)\n\n***\n* [**TotallyLazy** - A complete functional environment for Java](http://totallylazy.com)\n* [**Frege** - is a Haskell for the JVM. It brings purely functional programing to the Java platform.](https://github.com/Frege/frege)\n* [**Vavr** - (formerly called Javaslang) object-functional library that runs with Java 8+](https://www.vavr.io/)\n* [**functionaljava** - Functional programming in Java](https://github.com/functionaljava/functionaljava)\n* [**yeti** - Functional programming language for JVM](https://github.com/mth/yeti)\n* [**Jinq** - LINQ-style queries for Java 8](https://github.com/my2iu/Jinq)\n* [**linq4j** - A port of LINQ (Language-Integrated Query) to Java](https://github.com/julianhyde/linq4j)\n* [**javaz** - Java 8 lambda experiment](https://github.com/mariofusco/javaz)\n\n### [Clojure](https://github.com/clojure/clojure)/[ClojureScript](https://github.com/clojure/clojurescript)\n\n***\n* [**cats** - Category Theory and Algebraic abstractions for Clojure and ClojureScript](https://github.com/funcool/cats)\n* [**jank** - A statically typed functional programming language](https://github.com/jeaye/jank)\n* [**lux** - The Lux Programming Language](https://github.com/LuxLang/lux)\n\n### [ClojureScript](https://github.com/clojure/clojurescript)\n\n***\n* [**re-frame** - A Reagent Framework For Writing SPAs, in Clojurescript](https://github.com/Day8/re-frame)\n\n### [Scala](https://github.com/scala/scala)\n\n***\n* [**scalaz** - An extension to the core Scala library for functional programming](https://github.com/scalaz/scalaz)\n* [**cats** - Lightweight, modular, and extensible library for functional programming](https://github.com/non/cats)\n* [**macroid** - A modular functional UI language for Android](https://github.com/macroid/macroid)\n* [**Structures** - Functional type classes for Scala](https://github.com/mpilquist/Structures)\n* [**rillit** - Boilerplate-free Functional Lenses for Scala 2.10](https://github.com/akisaarinen/rillit)\n\n### [Kotlin](https://github.com/JetBrains/kotlin)\n\n***\n* [**Arrow** - Functional programming library, which adds patterns, type classes and more](http://arrow-kt.io/)\n* [**Forge** - Functional style JSON parsing written in Kotlin](https://github.com/kittinunf/Forge)\n* [**funktional** - Kotlin monads](https://github.com/mplatvoet/funktional)\n* [**funKTionale** - Functional constructs for Kotlin](https://github.com/MarioAriasC/funKTionale)\n* [**kotlinslang** - A functional library for Kotlin that provides functional control structures. Inspired by javaslang](https://github.com/kotlinslang/kotlinslang)\n\n### [F#](https://github.com/fsharp/fsharp)\n\n***\n* [**FSharpPlus** - A complete and extensible base library for F#.](https://github.com/gusty/FSharpPlus)\n* [**FSharpx.Extras** - Functional programming and other utilities](https://github.com/fsprojects/FSharpx.Extras)\n* [**chiron** - Functional JSON library for F#](https://github.com/xyncro/chiron)\n* [**hekate** - Purely Functional Graphs for F#](https://github.com/xyncro/hekate)\n* [**freya** - Functional-first web stack, including an HTTP finite state machine, built on top of OWIN](https://github.com/freya-fs/freya)\n* [**micron** - A minimalistic pure functional programming language](https://github.com/jonathanvdc/micron)\n* [**Lw** - is a general-purpose statically-typed functional language with advanced features.](https://github.com/alvisespano/Lw)\n* [**Streams** - A lightweight F#/C# library for efficient functional-style pipelines on streams of data](https://github.com/nessos/Streams)\n* [**Fable** - F# to JavaScript Compiler](https://github.com/fsprojects/Fable)\n* [**ReactFSharp** - Proof of concept demo implementing a React like declarative UI API for F# on top of RX](https://github.com/bordoley/ReactFSharp)\n* [**Juniper** - FRP (Functional Reactive Programming) for the Arduino and other microcontrollers](https://github.com/calebh/Juniper)\n\n### [C#](https://github.com/dotnet/roslyn)\n\n***\n* [**language-ext** - C# functional language extensions and 'Erlang like' concurrency system](https://github.com/louthy/language-ext)\n* [**functional.net** - Library of functions and list extensions for C#](https://github.com/jallen720/functional.net)\n* [**FuncSharp** - Functional programming in C#](https://github.com/siroky/FuncSharp)\n* [**monadsharp** - A collection of monads for C# that provide some functional programming flavor](https://github.com/kallanreed/monadsharp)\n* [**csharp-probability-monad** - A probabilistic programming framework for C#](https://github.com/joashc/csharp-probability-monad)\n* [**Ramda.NET** - Practical functional C# port from Ramda.js](https://github.com/sagifogel/Ramda.NET)\n\n### [Swift](https://developer.apple.com/swift)\n\n***\n* [**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](https://swiftforwindows.codeplex.com/)\n* [**Dollar.swift** - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript](http://www.dollarswift.org)\n* [**Swiftz** - Functional programming in Swift](https://github.com/typelift/Swiftz)\n* [**LlamaKit** - Collection of must-have functional Swift tools](https://github.com/LlamaKit/LlamaKit)\n* [**Prelude** - Swift µframework of simple functional programming tools](https://github.com/robrix/Prelude)\n* [**Swiftx** - Functional data types and functions for any project](https://github.com/typelift/Swiftx)\n* [**Concurrent** - Functional Concurrency Primitives](https://github.com/typelift/Concurrent)\n* [**SINQ** - LINQ for Swift - Swift Integrated Query](https://github.com/slazyk/SINQ)\n* [**Argo** - Functional JSON parsing library for Swift](https://github.com/thoughtbot/Argo)\n* [**Interstellar** - Simple and lightweight Functional Reactive Coding in Swift for the rest of us](https://github.com/JensRavens/Interstellar)\n* [**Funky** - Functional programming tools and experiments in Swift](https://github.com/brynbellomy/Funky)\n* [**Functional** - A functional programming framework for Swift](https://github.com/broomburgo/Functional)\n* [**SwiftSequence** - A μframework of extensions for SequenceType in Swift 2.0, inspired by Python's itertools, Haskell's standard library, and other things](https://github.com/oisdk/SwiftSequence)\n\n### [Python](https://www.python.org/)\n\n***\n* [**fn.py** - Functional programming in Python: implementation of missing features to enjoy FP](https://github.com/kachayev/fn.py)\n* [**funcy** - A fancy and practical functional tools](https://github.com/Suor/funcy)\n* [**toolz** - A functional standard library for Python](https://github.com/pytoolz/toolz)\n* [**f** - Functional stuff for Python](https://github.com/igrishaev/f)\n* [**Coconut** - Simple, elegant, Pythonic functional programming](http://coconut-lang.org/)\n* [**pyMonet** - High abstract library for functional programming. Contains algebraic data structures known from Haskell or Scala](https://github.com/przemyslawjanpietrzak/pyMonet)\n\n### [PHP](https://github.com/php/php-src)\n\n***\n* [**functional-php** - Primitives for functional programming in PHP](https://github.com/lstrojny/functional-php)\n* [**Non-standard PHP library (NSPL)** - Compact functional programming oriented code and more](https://github.com/ihor/Nspl)\n* [**Pinq** - PHP Integrated Query, a real LINQ library for PHP](https://github.com/TimeToogo/Pinq)\n* [**YaLinqo** - Yet Another LINQ to Objects for PHP](https://github.com/Athari/YaLinqo)\n* [**ginq** - LINQ to Object inspired DSL for PHP](https://github.com/akanehara/ginq)\n* [**pramda** - Practical Functional Programming in PHP](https://github.com/kapolos/pramda)\n* [**prelude** - Functional library for PHP](https://github.com/sergiors/prelude)\n\n### [Rust](https://github.com/rust-lang/rust)\n\n***\n* [**elmesque** - An attempt at porting Elm's incredibly useful, purely functional std graphics modules](https://github.com/mitchmindtree/elmesque)\n\n### [Julia](https://github.com/JuliaLang/julia)\n\n***\n* [**Lazy.jl** - Functional programming for Julia](https://github.com/one-more-minute/Lazy.jl)\n* [**FunctionalCollections.jl** - Functional and persistent data structures for Julia](https://github.com/JuliaLang/FunctionalCollections.jl)\n\n### [Go](https://github.com/golang/go)\n\n***\n* [**go-linq** - .NET LINQ-like query methods for Go](https://github.com/ahmetalpbalkan/go-linq)\n* [**The Oden Programming Language** - Oden is an experimental, statically typed, functional programming language, built for the Go ecosystem](https://oden-lang.org/)\n\n### [Haskell](https://www.haskell.org)\n\n***\n* [**futhark** - A data-parallel functional programming language](https://github.com/HIPERFIT/futhark)\n* [**reflex** - Practical Functional Reactive Programming](https://github.com/reflex-frp/reflex)\n* [**ghcvm** - A Haskell to JVM compiler that supports GHC Haskell](https://github.com/rahulmutt/ghcvm)\n* [**ivorylang** - is an eDSL for safe systems programming. You can think of Ivory as a safer C, embedded in Haskell](http://ivorylang.org/index.html)\n\n### [Elixir](https://github.com/elixir-lang/elixir)\n\n***\n\n### [Erlang](https://www.erlang.org)\n\n***\n* [**lfe** - Lisp Flavoured Erlang (LFE)](https://github.com/rvirding/lfe)\n\n### [OCaml](https://ocaml.org/)\n\n***\n* [**bucklescript** - A backend for the OCaml compiler which emits JavaScript](https://github.com/bloomberg/bucklescript)\n\n### [Racket](https://racket-lang.org/)\n\n***\n* [**hackett** - (Very) WIP implementation of a Haskell 98-like Lisp in Racket](https://github.com/lexi-lambda/hackett)\n\n## Languages\n\n* [Lean](https://leanprover.github.io/) - Lean is a functional programming language that makes it easy to write correct and maintainable code.\n* [Pyret](http://www.pyret.org/) - A programming language designed to serve as an outstanding choice for programming education while exploring the confluence of scripting and functional programming\n* [Ela](http://elalang.net/) - A dynamic functional language\n* [Eta](http://eta-lang.org/) - A powerful language for building scalable systems on the JVM\n* [Koka](https://github.com/koka-lang/koka) - A function-oriented language with effect inference\n* [Ditto](https://github.com/ditto/ditto) - A super kawaii dependently typed language for you!\n* [F*](https://www.fstar-lang.org/) - (pronounced F star) An ML-like functional programming language aimed at program verification\n* [Idris](http://www.idris-lang.org/) - A general purpose pure functional programming language with dependent types\n* [Agda](https://github.com/agda/agda) - A dependently typed functional programming language\n* [Coq](https://coq.inria.fr/) - 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\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/xgrommx%2Fawesome-functional-programming/projects"}