Email the Author
You can use this page to email dimitris papadimitriou about Functional Programming in Javascript.
About the Book
Note: This is not an Introductory book in JavaScript. The reader must have at least a couple of years of JavaScript experience. Please read the Sample pdf to get an idea about the content of the book, also browse some of the JsFiddles here :
- https://github.com/dimitris-papadimitriou-chr/FunctionalJsWithCategories
Paperback is now available in Amazon Functional Programming in JavaScript
One of the main reasons for this book is to transfer in the community of object-oriented developers some of the ideas and advancements happening to the functional community side and the mathematical foundations behind them.
Book Description
This book goes beyond the introductory ideas of functional programming, while progressively building on practical examples in a comprehensive manner. Each example is accompanied by online autonomous JS fiddle JavaScript code [https://jsfiddle.net/user/functionalCategories/fiddles/], which you can run fork and modify, in order to deepen your understanding of each section.
By the end of this book, you will have a deep understanding of the ideas behind functional JavaScript that will allow you to program in a functional style with confidence. Also, you will have an overview of how famous functional libraries like Ramda, Folktale, Sanctuary, etc. have implemented the different functional concepts.
What you will learn:
- Go beyond the Array.map by understanding how to generalize the idea of map to Functors like Maybe, Either and Promises, etc.
- Go beyond the idea of Array.reduce by understanding the concepts of fold and catamorphism over data structures.
- Learn how to combine functional ideas in order to solve practical problems.
- Use Monads like Maybe, Either, IO, Continuations, and Promises to chain computations.
- Get a deep understanding of recursive methods and learn how to define recursive methods on algebraic data structures.
About the Author
I have more than 14 years’ experience as full stack developer and Architect.
I Like to stay in touch with all the latest developments in the field, as well as the foundational Theoretical Computer science and algorithm Analysis and Design