{"id":13442321,"url":"https://github.com/imteekay/functional-programming-learning-path","last_synced_at":"2025-05-15T04:07:28.700Z","repository":{"id":41282905,"uuid":"145241512","full_name":"imteekay/functional-programming-learning-path","owner":"imteekay","description":"✨ A Learning Path for Functional Programming","archived":false,"fork":false,"pushed_at":"2024-10-22T11:41:29.000Z","size":54622,"stargazers_count":1015,"open_issues_count":1,"forks_count":85,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-05-12T07:10:04.540Z","etag":null,"topics":["clojure","functional-languages","functional-programming","javascript"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imteekay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":"FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["imteekay"],"custom":["https://teekay.substack.com"]}},"created_at":"2018-08-18T17:58:07.000Z","updated_at":"2025-05-10T01:50:35.000Z","dependencies_parsed_at":"2024-01-01T16:25:23.902Z","dependency_job_id":"39eba827-a676-4d23-b20a-067645dc3b4c","html_url":"https://github.com/imteekay/functional-programming-learning-path","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imteekay%2Ffunctional-programming-learning-path","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imteekay%2Ffunctional-programming-learning-path/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imteekay%2Ffunctional-programming-learning-path/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imteekay%2Ffunctional-programming-learning-path/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imteekay","download_url":"https://codeload.github.com/imteekay/functional-programming-learning-path/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254092650,"owners_count":22013290,"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","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":["clojure","functional-languages","functional-programming","javascript"],"created_at":"2024-07-31T03:01:44.311Z","updated_at":"2025-05-15T04:07:23.681Z","avatar_url":"https://github.com/imteekay.png","language":"Clojure","readme":"\u003csamp\u003e\n\n# Functional Programming Learning Path\n\n## Table of Content\n\n- [Foundation](#foundation)\n- [Why Functional](#why-functional)\n- [Advanced Topics](#advanced-topics)\n- [Talks](#talks)\n- [Books](#books)\n- [Declarative Programming](#declarative-programming)\n- [Blogs](#blogs)\n- [Projects](#projects)\n- [Podcasts](#podcasts)\n- [Courses](#courses)\n- [Lists](#lists)\n- [Community](#community)\n- [JavaScript](https://github.com/imteekay/functional-programming-learning-path/tree/master/javascript)\n- [Rust](https://github.com/imteekay/functional-programming-learning-path/tree/master/rust)\n- [Clojure](https://github.com/imteekay/functional-programming-learning-path/tree/master/clojure)\n- [Python](https://github.com/imteekay/functional-programming-learning-path/tree/master/python)\n- [Ruby](https://github.com/imteekay/functional-programming-learning-path/tree/master/ruby)\n- [Programming Challenges](https://github.com/imteekay/functional-programming-learning-path/tree/master/programming_challenges)\n\n## Foundation\n\n- [Functional Programming Learning Path](https://purelyfunctional.tv/learning-paths/functional-programming/)\n- [Introduction to Funcional Programming - edX](https://www.edx.org/course/introduction-functional-programming-delftx-fp101x-0)\n- [Como programar funcional?](https://www.youtube.com/watch?v=jIYfTKYXJr8)\n- [Demystifying functional programming](https://medium.com/building-nubank/demystifying-functional-programming-in-a-real-company-e954a2591504)\n- [Programação Funcional para iniciantes](https://medium.com/trainingcenter/programa%C3%A7%C3%A3o-funcional-para-iniciantes-9e2beddb5b43)\n- [Awesome Functional Programming](https://github.com/xgrommx/awesome-functional-programming)\n- [Functional Programming Jargon](https://github.com/hemanth/functional-programming-jargon)\n- [Your functional journey](https://purelyfunctional.tv/guide/your-functional-journey/)\n- [The Benefits of Pure Functions](https://alvinalexander.com/scala/fp-book/benefits-of-pure-functions)\n- [Pure Functions](https://www.sitepoint.com/functional-programming-pure-functions/)\n- [Functional Koans](https://github.com/relevance/functional-koans)\n- [Programação funcional, imutabilidade, e previsibilidade](https://mauricioszabo.wordpress.com/2016/03/22/programacao-funcional-imutabilidade-e-previsibilidade/)\n- [A practical introduction to functional programming](https://maryrosecook.com/blog/post/a-practical-introduction-to-functional-programming)\n- [An introduction to functional programming](https://codewords.recurse.com/issues/one/an-introduction-to-functional-programming)\n- [Software Composition](https://medium.com/javascript-scene/composing-software-an-introduction-27b72500d6ea)\n- [Functional Education](http://bitemyapp.com/posts/2014-12-31-functional-education.html)\n- [What is functional?](https://dev.to/drbearhands/functional-fundamentals-what-is-functional-l66)\n- [Types as propositions, programs as proofs](https://dev.to/drbearhands/functional-fundamentals-types-as-propositions-programs-as-proofs-56gh)\n- [So You Want to be a Functional Programmer (Part 1)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-1-1f15e387e536)\n- [So You Want to be a Functional Programmer (Part 2)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-2-7005682cec4a)\n- [So You Want to be a Functional Programmer (Part 3)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-3-1b0fd14eb1a7)\n- [So You Want to be a Functional Programmer (Part 4)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-4-18fbe3ea9e49)\n- [So You Want to be a Functional Programmer (Part 5)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-5-c70adc9cf56a)\n- [So You Want to be a Functional Programmer (Part 6)](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-6-db502830403)\n- [Friendly Functional Programming](https://functional.works-hub.com/learn/friendly-functional-programming-b3e93)\n- [Practical Functional Programming](https://hackernoon.com/practical-functional-programming-6d7932abc58b)\n- [Destroy All Ifs](http://degoes.net/articles/destroy-all-ifs)\n- [THE PILLARS OF FUNCTIONAL PROGRAMMING (PART 1)](https://sigma.software/about/media/pillars-functional-programming-part-1)\n- [Functional Programming Patterns: Cookbook](https://medium.com/@karthikiyengar/functional-programming-patterns-cookbook-3a0dfe2d7e0a)\n\n## Higher Order Functions\n\n- [Getting a handle on Reduce](https://adambard.com/blog/getting-a-handle-on-reduce/)\n\n## Immutability\n\n- [Immutability - something worth striving for](https://dev.to/rwoodnz/immutability---something-worth-striving-for-3ppp)\n- [Why shared mutable state is the root of all evil](http://henrikeichenhardt.blogspot.com/2013/06/why-shared-mutable-state-is-root-of-all.html)\n- [Immutable data](https://www.sitepoint.com/functional-programming-ruby-value-objects/)\n- [Thoughts on Immutability, CI/CD, FP](https://www.infoq.com/podcasts/Vitor-Olivier)\n\n## Why Functional\n\n- [Why functional programming matters](https://hackernoon.com/why-functional-programming-matters-c647f56a7691)\n- [Why Functional Programming?](https://purelyfunctional.tv/article/why-functional-programming/)\n- [Advantages of Functional Programming](https://blog.codeship.com/advantages-of-functional-programming/)\n- [Pros and cons of functional programming](https://itnext.io/pros-and-cons-of-functional-programming-32cdf527e1c2)\n- [What are the benefits of functional programming?](https://stackoverflow.com/a/128128/3159162)\n- [Benefits of Functional Programming](https://alvinalexander.com/scala/fp-book/benefits-of-functional-programming)\n- [Benefits of Functional Programming beyond map/filter/reduce](https://www.youtube.com/watch?v=oaa4XiwEq1E\u0026ab_channel=Jfokus)\n- [Benefits of Functional Programming by Example](https://medium.com/@nickmccurdy/benefits-of-functional-programming-by-example-76f1135b0b18)\n- [Goodbye, Object Oriented Programming](https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53)\n- [Switching from OOP to Functional Programming](https://medium.com/@olxc/switching-from-oop-to-functional-programming-4187698d4d3)\n\n## Advanced Topics\n\n- [Transducers: Efficient Data Processing Pipelines in JavaScript](https://medium.com/javascript-scene/transducers-efficient-data-processing-pipelines-in-javascript-7985330fe73d)\n- [Functors, Monads and better functions](https://dev.to/drbearhands/functors-monads-and-better-functions-26f3)\n- [Why Curry Helps](https://hughfdjackson.com/javascript/why-curry-helps/)\n- [Curry and Function Composition](https://medium.com/javascript-scene/curry-and-function-composition-2c208d774983)\n- [Functional JavaScript: Function Composition For Every Day Use](https://hackernoon.com/javascript-functional-composition-for-every-day-use-22421ef65a10)\n- [A Modern Architecture for FP](http://degoes.net/articles/modern-fp)\n- [Modern Functional Programming: Part 2](http://degoes.net/articles/modern-fp-part-1)\n- [Functional Programming, Abstraction, and Naming Things](http://www.stephendiehl.com/posts/abstraction.html)\n- [SOLID: the next step is Functional](http://blog.ploeh.dk/2014/03/10/solid-the-next-step-is-functional/)\n- [Functional Design Patterns](https://www.youtube.com/watch?reload=9\u0026v=srQt1NAHYC0\u0026ab_channel=NDCConferences)\n- [Free Monads Explained (pt 1)](https://medium.com/@olxc/free-monads-explained-pt-1-a5c45fbdac30)\n- [Perpetual Currying in JavaScript](https://medium.com/@paramsingh_66174/perpetual-currying-in-javascript-5ae1c749adc5)\n\n## Advanced Topics: Category Theory\n\n- [From design patterns to category theory by Mark Seemann](http://blog.ploeh.dk/2017/10/04/from-design-patterns-to-category-theory/)\n\n## Talks\n\n- [Functional programming design patterns by Scott Wlaschin](https://www.youtube.com/watch?v=E8I19uA-wGY\u0026ab_channel=IvanPlyusnin)\n- [Why Functional Programming Matters by John Hughes](https://www.youtube.com/watch?v=XrNdvWqxBvA\u0026ab_channel=ConfEngine)\n\n## Books\n\n- [How to Design Programs](https://htdp.org/2019-02-24/)\n- [Category Theory for Programmers](https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/)\n- [SICP - Structure and Interpretation\n  of Computer Programs](https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html)\n\n## Declarative Programming\n\n- [What is declarative programming?](https://stackoverflow.com/a/129639/3159162)\n- [Declarative vs Imperative Programming by Ian Mundy](https://codeburst.io/declarative-vs-imperative-programming-a8a7c93d9ad2)\n- [Imperative vs Declarative Programming by Tyler McGinnis](https://tylermcginnis.com/imperative-vs-declarative-programming/)\n- [Imperative versus declarative code… what’s the difference?](https://medium.com/front-end-hacking/imperative-versus-declarative-code-whats-the-difference-adc7dd6c8380)\n\n## Blogs\n\n- [Patterns in Functional Programming](https://patternsinfp.wordpress.com/)\n- [Kevin Sookocheff - Functional Programming](https://sookocheff.com/tags/functional-programming/)\n\n## Projects\n\n- [YouTube instant search with FP](https://jaysoo.ca/2016/01/13/functional-programming-little-ideas/)\n\n## Podcasts\n\n- [LambdaCast](https://soundcloud.com/lambda-cast)\n- [Programação Funcional com Erick Pintor e Bruno Tavares](http://tecnologicamentearretado.com.br/2014/12/31/programacao-funcional-com-erick-e-bruno/)\n- [Programação Funcional com Juliano alves](https://www.tecnoretorica.com.br/2013/04/programacao-funcional/)\n- [Programação Funcional - Inviavel Podcast](http://inviavelpodcast.com/10/)\n- [CapyCast #10 Linguagens Funcionais Com Marcelo Camargo e Derek Stavis](https://player.fm/series/capycast/capycast-10-linguagens-funcionais-com-marcelo-camargo-e-derek-stavis)\n- [The Imposter's Handbook: Functional Programming and Databases](https://www.orbit.fm/bookbytes/17)\n- [Functional Programming Languages and the Pursuit of Laziness with Dr. Simon Peyton Jones](https://player.fm/series/microsoft-research-podcast-1910051/ep-056-rerun-functional-programming-languages-and-the-pursuit-of-laziness-with-dr-simon-peyton-jones)\n\n## Courses\n\n- [Functional Programming Principles in Scala](https://www.coursera.org/learn/progfun1)\n- [Introduction to Functional Programming](https://www.edx.org/course/introduction-to-functional-programming)\n\n## Lists\n\n- [Awesome Functional Programming by @lucasviola](https://github.com/lucasviola/awesome-functional-programming)\n- [Awesome Functional Programming by @xgrommx](https://github.com/xgrommx/awesome-functional-programming)\n\n## Community\n\n- Richard Bird\n- Philip Wadler\n- Olivier Danvy\n- Andrzej Filinski\n- Daniel P. Friedman\n- Matthias Felleisen\n- J. Michael Ashley\n- R. Kent Dybvig\n- Erik Hilsdale\n\n## License\n\n[MIT](/license) © [TK](https://iamtk.co)\n\n\u003c/samp\u003e\n","funding_links":["https://github.com/sponsors/imteekay","https://teekay.substack.com"],"categories":["Clojure","Uncategorized","Articles"],"sub_categories":["Uncategorized","Basics"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimteekay%2Ffunctional-programming-learning-path","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimteekay%2Ffunctional-programming-learning-path","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimteekay%2Ffunctional-programming-learning-path/lists"}