Functional-Light-JS README

The project's README from github.com/getify/Functional-Light-JS. As one markdown file: README.md.

Functional-Light JavaScript

License: CC BY-NC-ND 4.0

Book Cover

This book is a balanced, pragmatic look at FP in JavaScript. The first edition is now complete. Read here online for free, or:

Buy on Leanpub Buy on Manning Buy on Amazon

"Functional-Light JavaScript" explores the core principles of functional programming (FP) as they are applied to JavaScript. But what makes this book different is that we approach these principles without drowning in all the heavy terminology. We look at a subset of FP foundational concepts that I call "Functional-Light Programming" (FLP) and apply it to JavaScript.

Note: Despite the word "Light" in the title, I do not consider or recommend this book as a "beginner", "easy", or "intro" book on the topic. This book is rigorous and full of gritty detail; it expects a solid foundation of JS knowledge before diving in. "Light" means limited in scope; instead of being more broad, this book goes much deeper into each topic than you typically find in other FP-JavaScript books.

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.

But I want you to be able to apply some of the fundamentals of FP to your JavaScript now, because I believe it will help you write better, more reasonable code.

To read more about the motivations and perspective behind this book, check out the Preface.

Book

Table of Contents

Publishing

This book has been published and is now available for purchase (in both ebook and print formats) from these sources:

Buy on Leanpub Buy on Manning Buy on Amazon

If you'd like additionally 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.

patreon.png

In-person Training

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

I also have several JS training courses available in on-demand video format. I teach courses through Frontend Masters, like my Functional-Light JavaScript v2 workshop. Some of my courses are also available on PluralSight.

Contributions

Any contributions you make to this effort are of course greatly appreciated.

But PLEASE read the Contributions Guidelines carefully before submitting a PR.

The materials herein are all (c) 2016-2018 Kyle Simpson.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 4.0 Unported License.

Functional-Light-JS (getify/Functional-Light-JS)

coding
Searching Database…

What is this?This is a free, complete online book (and companion workshop) that teaches a pragmatic, scoped-down subset of functional programming — what the author calls 'Functional-Light Programming' — applied directly to real JavaScript code.
Is this a single book or a series of tutorials?It is one cohesive book with 11 chapters plus 3 appendices, moving from why FP matters through function composition, immutability, closures, recursion, list operations, async FP, transducing, and monads.
How do I actually read this book?The full first edition can be read online for free directly in this repo, or you can buy the finished ebook/print edition from several publishers.
Is this a beginner-friendly intro to FP?No. 'Light' only refers to the narrower scope of topics covered, not the difficulty — the author says explicitly it's not an intro book, and it still goes deep into each topic and expects solid prior JS knowledge.
Who is this book written for?JavaScript developers who already know the language and want a practical way to apply core FP ideas to improve their code, without first having to learn heavy academic FP terminology.
Is there a video course version of this material?Yes — the author teaches it as a Frontend Masters workshop called Functional-Light JavaScript v2, and some related courses are also on PluralSight.
What topics does the book cover in depth?It covers function nature and composition, reducing side effects, value immutability, closures vs objects, recursion, list operations, functional async patterns, plus appendices on transducing and monads.
Creator
getify
Size
31 MB
Stars
16.7K
Updated
CommitMar 22
Age
10y
Commits · 90 Days