{"id":21506318,"url":"https://github.com/jkup/functional-javascript","last_synced_at":"2025-10-28T12:44:55.756Z","repository":{"id":28779723,"uuid":"32302320","full_name":"jkup/functional-javascript","owner":"jkup","description":":tada: A list of functional javascript resources","archived":false,"fork":false,"pushed_at":"2022-09-02T13:08:44.000Z","size":13,"stargazers_count":382,"open_issues_count":1,"forks_count":40,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-03-17T14:48:55.287Z","etag":null,"topics":[],"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/jkup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-16T04:58:59.000Z","updated_at":"2025-03-05T09:16:56.000Z","dependencies_parsed_at":"2023-01-14T09:34:03.402Z","dependency_job_id":null,"html_url":"https://github.com/jkup/functional-javascript","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jkup/functional-javascript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkup%2Ffunctional-javascript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkup%2Ffunctional-javascript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkup%2Ffunctional-javascript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkup%2Ffunctional-javascript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jkup","download_url":"https://codeload.github.com/jkup/functional-javascript/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkup%2Ffunctional-javascript/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281441022,"owners_count":26501758,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-28T02:00:06.022Z","response_time":60,"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"}},"keywords":[],"created_at":"2024-11-23T19:37:53.672Z","updated_at":"2025-10-28T12:44:55.739Z","avatar_url":"https://github.com/jkup.png","language":null,"readme":"# Functional JavaScript Resources\n\nThis is a list of resources for functional programming in JavaScript. Please feel free to submit any of your own via pull request.\n\n## Videos\n\n#### Free\n+ [**Brian Lonsdorf** - Hey Underscore, You're Doing It Wrong!](https://www.youtube.com/watch?v=m3svKOdZijA)\n+ [**David Nolen** - Immutability: Putting The Dream Machine To Work](https://www.youtube.com/watch?v=SiFwRtCnxv4)\n+ [**John-David Dalton** - Unorthodox Performance](https://www.youtube.com/watch?v=NthmeLEhDDM)\n+ [**Jafar Husain** - Asynchronous Programming at Netflix](https://www.youtube.com/watch?v=gawmdhCNy-A)\n+ [**Brian Lonsdorf** - Functional programming patterns for the non-mathematician](https://www.youtube.com/watch?v=AvgwKjTPMmM)\n+ [**Egghead.io** - Asynchronous Programming: The End of The Loop](https://egghead.io/series/mastering-asynchronous-programming-the-end-of-the-loop)\n+ [**James Coglan** - Practical functional programming: pick two](https://www.youtube.com/watch?v=XcS-LdEBUkE)\n+ [**Mattias Petter Johansson** - Functional Programming in Javascript](https://www.youtube.com/watch?v=BMUiFMZr7vk)\n\n#### Premium\n+ [**Egghead.io** - Professor Frisby Introduces Composable Functional JavaScript](https://egghead.io/courses/professor-frisby-introduces-composable-functional-javascript)\n+ [**Front End Masters** - JavaScript: From Fundamentals to Functional JS](https://frontendmasters.com/courses/js-fundamentals-to-functional/)\n+ [**Front End Masters** - Hardcore Functional Programming in JavaScript](https://frontendmasters.com/courses/functional-javascript/)\n+ [**Pluralsight** - Underscore.js Fundamentals](http://www.pluralsight.com/courses/underscore-fundamentals)\n\n\n## Blog Posts\n+ [**Eloquent JavaScript** - Functional Programming](http://eloquentjavascript.net/1st_edition/chapter6.html)\n+ [**Eric Elliott** - The Two Pillars of JavaScript — Pt 2: Functional Programming](https://medium.com/javascript-scene/the-two-pillars-of-javascript-pt-2-functional-programming-a63aa53a41a4)\n+ [**Minko Gechev** - Functional Programming with JavaScript](http://blog.mgechev.com/2013/01/21/functional-programming-with-javascript/)\n\n## Exercises\n+ [**Functional Programming in Javascript** - A series of interactive exercises for learning Microsoft's Reactive Extensions Library for Javascript](https://jhusain.github.io/learnrx/)\n+ [**Nodeschool Functional Javascript Workshop** - A functional Javascript workshop. No libraries required (i.e. no underscore), just ES5.](https://github.com/timoxley/functional-javascript-workshop)\n\n## Libraries\n+ [**Underscore** - JavaScript's utility belt](https://github.com/jashkenas/underscore)\n+ [**Lodash** - A JavaScript utility library delivering consistency, modularity, performance, \u0026 extras](https://github.com/lodash/lodash)\n+ [**Ramda** - Practical functional Javascript](https://github.com/ramda/ramda)\n+ [**RxJS** - The Reactive Extensions for JavaScript](https://github.com/Reactive-Extensions/RxJS)\n+ [**BaconJS** - FRP (functional reactive programming) library for Javascript](https://github.com/baconjs/bacon.js/)\n+ [**transducers-js** - Transducers for JavaScript](https://github.com/cognitect-labs/transducers-js)\n+ [**wu.js** - JavaScript library providing higher order functions for ES6 iterators](https://github.com/fitzgen/wu.js)\n+ [**fn.js** - A JavaScript library built to encourage a functional programming style \u0026 strategy](https://github.com/eliperelman/fn.js)\n+ [**Fantasy Land** - Specification for interoperability of common algebraic structures in JavaScript](https://github.com/fantasyland/fantasy-land)\n\n## Books\n+ [**Kyle Simpson** - Functional-Light JavaScript](https://github.com/getify/Functional-Light-JS)\n+ [**Michael Fogus** - Functional JavaScript](http://shop.oreilly.com/product/0636920028857.do)\n+ [**Reginald Braithwaite** - JavaScript Allongé](https://leanpub.com/javascript-allonge)\n+ [**Brian Lonsdorf** - Mostly adequate guide to FP (in javascript)](https://github.com/MostlyAdequate/mostly-adequate-guide)\n\n## People\n+ [David Nolen](https://twitter.com/swannodette)\n+ [Brian Lonsdorf](https://twitter.com/drboolean)\n+ [Jeremy Ashkenas](https://twitter.com/jashkenas)\n+ [Michael Fogus](https://twitter.com/fogus)\n+ [John-David Dalton](https://twitter.com/jdalton)\n+ [Jafar Husain](https://twitter.com/jhusain)\n","funding_links":[],"categories":["Resources"],"sub_categories":["[Elm](http://elm-lang.org)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjkup%2Ffunctional-javascript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjkup%2Ffunctional-javascript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjkup%2Ffunctional-javascript/lists"}