As the title states, my question is who is the target audience of your book. I mean, does it start from the basics? I have Java knowledge, I have been working with it for years but I haven't touch anything about lambdas and functional programming. Will it suit me?
The book is aimed at people with an average knowledge of Java and no knowledge of functional programming. It is not a book about Java 8, although it makes a heavy use of lambdas. But the reader is not supposed to know lambdas. "Functional" constructs of Java 8, such as Optional, Stream and CompletableFuture are not fully described. In the book, we build a functional library with our own types, implemented in a functional way (which is not at all the case of Java 8 types). The goal is not to give recipes that can be blindly applied to Java 8 programs, but to understand what functional programming means. Not everything in the book will apply to you day to day programming. It will be up to you to chose the parts you want to apply. Everything is presented in the form of exercises you have to solve to pass unit tests. Some exercises might be difficult at first, but none require previous knowledge of functional programming.