Awesome
Adventures of lambda in JS
List of curated resources related to Functional Programming in JS.
Get your hands dirty
Learn while dropping some code. Practical and interactive exercises.
- :star: Functional Programming in Javascript.
- The End of The Loop.
- Hardcore Functional Programming in JavaScript (Paid).
Hit the books
For those who have the time or the will. Complete books or featured chapters about FP.
- :star: Professor Frisby’s Mostly Adequate Guide to Functional Programming.
- :star: Functional-light JavaScript.
- :star: JavaScript Allongé.
- Functional JavaScript.
- Eloquent JavaScript:
- Functional Programming (1st edition).
- Functions.
- Higher-Order Functions.
Gists
Blogosphere
Interesting blogs/posts/essays/slides about FP.
Blogs
- LambdaCat.
- raganwald.com (check the essays list).
Posts/essays/slides
- :star: Your code could be simpler and I can prove it mathematically is a good introduction to functional programming principles and category theory (spanish).
- Lazy, Composable and Modular JavaScript.
- Monads in JavaScript.
- Practical Introduction to Monads in JS. Part II: Either.
- The Philosophy of Ramda.
- Thinking in Ramda a serie of posts about functional programming using Ramda.
- The Two Pillars of JavaScript: Functional Programming.
- The Elm Architecture a simple functional frontend architecture.
- Functional Programming Patterns (NDC London 2014).
Videos
- :star: Professor Frisby Introduces Composable Functional JavaScript.
- :star: Your code could be simpler and I can prove it mathematically (spanish).
- What if the user was a function? by Andre Staltz.
- JavaScript Air: Functional and Immutable Design Patterns in JavaScript (check "Links, Tips, and Picks" section).
- Monads and Gonads by Douglas Crockford.
- Function The Ultimate by Douglas Crockford.
Reactive (Functional) Programming
Resources related to FP’s beloved cousin.
- :star: General Theory of Reactivity. Watch Video.
- The introduction to Reactive Programming you've been missing.
- Modernization of Reactivity.
- Understanding the Observable type.
Tools of the trade
Libraries, frameworks and general tools.
- :star: Ramda.
- :star: Sanctuary JS.
lodash-fp
.- Ramda fantasy.
- React with Redux.
- RxJS (Reactive Extensions for JS).
- :star:
eslint-config-cleanjs
, a ESLint conf to put JS closer to a pure FP language.
Theory / Other Programming Languages
- :star: Functional Programming Course by Data61 (Haskell).
- :star: Category Theory for Programmers.
- Why Functional Programming Matters.
- Elm (compile to JS).
- Purescript.
- :star: Learn You a Haskell for Great Good!.
- :star: Real World Haskell.
- :star: Functors, Applicatives and Monads in Pictures.
- Haskell School of Music.
- :star: Learn You Some Erlang for Great Good!.
- Write Yourself a Scheme in 48 Hours
- The Little Schemer.
- Structure and Interpretation of Computer Programs.
- Matryoshka for Scala (also check "External Resources").
Submit yours!
We'll be glad to add your post/video/link if you've something to share.