Expert F# is written by Don Syme, Adam Granicz, and Antonio Cisternino. That book is a definite source to learn and to expertise F#. Although I have read most of the draft chapters before, the final book has a lot more and valuable information for every type of developer. It really helped me to delve into some advanced features of the language that is uncommon in other languages.
“Expert F#” is a book that focuses on more experienced developers. Although the first chapters look like introduction chapters, actually there are more than introduction chapters that explains the core F# libraries with examples expecting the reader to know the basics.
This book is built primarily on the language and the effective usage of its libraries. The first 10 chapters are more based on the language, libraries and techniques that will support to develop fluently. However; the real fun starts after chapter 11, that makes to write real world programs with more advanced techniques and patterns for common tasks.The authors paid a lot of attention to cover different scenarios and problem domains, that is why symbolic representations, lexing and interoperating chapters exist.
“Expert F#” gives different approaches to solve the problems using self explanatory and terse examples. It is nice to apply some sophisticated techniques immediately in the interactive window.
My favourite chapter of the book was reactive, asynchronous and concurrent programming. Nowadays, concurrency is such a hot topic and this chapter shows how to write reactive concurrent programs using a very neat syntax that programmers could benefit.
Finally, I would strongly recommend this book whoever wants to learn functional programming and F#. Considering the productization of F#, the language will be improved more and more and this book will be the best guide to follow up with that wave.