Let's face it: unless you're already a member of the FP cool kids club (I'm not!), a statement like, "a monad is just a monoid in the category of endofunctors", just doesn't mean anything useful to us.
That's not to say the terms are meaningless or that FPrs are bad for using them. Once you graduate from Functional-Light, you'll maybe/hopefully want to study FP more formally, and you'll certainly have plenty of exposure to what they mean and why.
To read more about the motivations and perspective behind this book, check out the Preface.
- Foreword (by Brian Lonsdorf, aka "Prof Frisby")
- Chapter 1: Why Functional Programming?
- Chapter 2: The Nature Of Functions
- Chapter 3: Managing Function Inputs
- Chapter 4: Composing Functions
- Chapter 5: Reducing Side Effects
- Chapter 6: Value Immutability
- Chapter 7: Closure vs Object
- Chapter 8: Recursion
- Chapter 9: List Operations
- Chapter 10: Functional Async
- Chapter 11: Putting It All Together
- Appendix A: Transducing
- Appendix B: The Humble Monad
- Appendix C: FP Libraries
This book has been published and is now available for purchase on Leanpub. I'll also be trying to work out an option to sell print book copies, but that part is still uncertain.
If you'd like to contribute financially towards the effort (or any of my other OSS work) aside from purchasing the book, I do have a patreon that I would always appreciate your generosity towards.
The content for this book derives heavily from a training workshop I teach professionally (in both public and private-corporate workshop format) of the same name.
If you like this content and would like to contact me regarding conducting training on this, or other various JS/HTML5/Node.js topics, please reach out to me through email: getify @ gmail
Online Video Training
Any contributions you make to this effort are of course greatly appreciated.
But PLEASE read the Contributions Guidelines carefully before submitting a PR.
License & Copyright
The materials herein are all (c) 2016-2017 Kyle Simpson.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 4.0 Unported License.