This comprehensive introduction to the principles of functional programming using F# shows how to apply basic theoretical concepts to produce succinct and elegant programs. It demonstrates the role of functional programming in a wide spectrum of applications including databases and systems. Coverage also includes advanced features in the .NET library, the imperative features of F# and topics such as text processing, sequences, computation expressions and asynchronous computation. With a broad spectrum of examples and exercises, the book is perfect for courses in functional programming and for self-study. Enhancing its use as a text is an accompanying website with downloadable programs, lecture slides, a mini-projects and links to further F# sources.
The difficulty level of this book goes from 0 to 100 in no time. Not very helpful for beginners. The book ought to have more examples and the examples should be explained. Explanations like “The reader should appreciate this short and elegant combination of library functions.” are not helpful at all. The exercises moreover are too difficult. This book would gain from having in-deep syntax explanations of examples and worked-through solutions for some of the exercises.
It's overall a good book on F#, an elegant programming language. I find it somehow in the same theme as "ML for the working programmer", though easier: some examples on "ML..." are really challenge and fun.
The book title should better be "Introduction to F# programming" since it doesn't teach how to *think* in functional as the title might promise. The book uses examples to introduce concepts and keywords, which I'm not sure if it's good for novice since it doesn't elaborate the syntax used in each example. Most examples are math related and the reader may need to have some math background. In general, I think this book is good for students (esp math students?) but is less interesting for professional programmer. Also, the book itself is incomplete, there is no topics about active pattern (user-defined pattern). Finally, what save this book from having 2 stars from me is many of the examples are interesting for math lover :) but that's it.