Learn Functional Programming
Learn Functional Programming
About the Book
The purpose of this book is to explain the main concepts in functional programming as simply as possible in a language agnostic manner. That is not to say that we will not use actual code - rather that the focus is not on implementation details of a specific language, compiler or platform, but on the concepts themselves.
The examples are provided as:
- drawings and diagrams
- pseudocode
- JavaScript - most of the time as simple as pseudocode, but you can actually run it!
- various other languages illustrating a specific point, e.g. HTML, CSS, SQL, Clojure and others.
Who is this book for?
Anyone who wishes to learn more about functional programming! Some working knowledge about programming basics may be helpful, but ultimately it's not a show stopper - just another thing to learn.
If you just started learning functional programming, my own personal recommendation is that you go through this book first, then master at least one concrete language and then go through it again as a refresher.
Who is this book NOT for?
Anyone who wishes to use it as a reference index, academic source or anything similar. Whenever I had to choose between clarity and simplicity of explanations on one side and formal correctness on the other, I chose simplicity.
Table of Contents
-
Introduction
- About the book
- Who is this book for?
- Who is this book NOT for?
-
Programming paradigms
- Imperative programming
- Declarative programming
- Functional programming
-
Theory
- Pure functions
- Well-behaved imperative procedures
- Inherent impurities
- Intentional impurities
-
Practice
- Recursion
- Immutable data structures
- Higher order functions
- Lazy Evaluation
- Memoization
- Arity, partial application and currying
- Sequence transformations: map, reduce and others
-
What about side effects?
- Separation of concerns
- Encapsulation
- Idempotence
- Semantically insignificant side effects
-
Wrapping it up
- Key Concepts
- Epilogue
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them