Learning Functional Programming From Scratch
Learning Functional Programming From Scratch
Minimum price
Suggested price
Learning Functional Programming From Scratch

This book is 50% complete

Last updated on 2019-07-07

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 learn a specific technology. You will not learn Clojure or JavaScript or any other programming language. You will not learn a MapReduce framework or a BigData pipeline platform. You will learn the basic building blocks behind all those technologies, but that's just about it.

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 the simplicity. So, while you can quote the examples to your friends and colleagues and get some geek cred for it, you're not getting a Nobel for it (and neither am I!)

About the Author

Goran Jovic
Goran Jovic

Goran is a software developer with a strong affinity for functional programming. His special interest is in using the latest technologies to solve difficult problems. He has been working with Clojure since 2010 on a number of projects usually involving Big Data processing and analytics. His current focus is application of Clojure-fu on IoT integration.

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
  • Elementary concepts
    • Pure functions
    • Well behaved imperative procedures
    • Inherent impurities
    • Intentional impurities
  • Advanced concepts - IN PROGRESS
    • Recursion
    • Immutable data structures
    • Higher order functions
    • Lazy Evaluation
    • Memoization
    • Partial application and currying - IN PROGRESS
    • Map - IN PROGRESS
    • Reduce - IN PROGRESS
    • Proxies - IN PROGRESS
    • Composition pipelines - IN PROGRESS
  • Living with side-effects - IN PROGRESS
    • Separation of concerns - IN PROGRESS
    • Encapsulation - IN PROGRESS
    • Idempotence - IN PROGRESS

Authors have earned$8,168,568writing, publishing and selling on Leanpub,
earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Learn more about writing on Leanpub

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

Free Updates. Free App. 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), EPUB (for phones and tablets), MOBI (for Kindle) and in the free Leanpub App (for Mac, Windows, iOS and Android). 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

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub